MySQL,一个熟悉又陌生的名词,早在学习Javaweb的时候,我们就用到了MySQL数据库,在那个阶段,MySQL对我们来说似乎只是一个存储数据的好东西,存储时一股脑往里边塞,查询时也是盲目的全表查询(不带一点点优化)。 我们总是自欺欺人的觉得,我们通过其他方面来优化就好了阿,迟迟不愿面对MySQL高级
统一的错误码管理的优点 统一的错误码描述,如果没有统一的错误码的话,错误描述散落在项目内的不同地方,同一个错误码却产生不同的错误描述,会导致歧义。 错误码的层级,在与客户端的交互过程中,我们可能需要根据错误的层级,来做不同的显示。例如系统内部的错误,我们产生红色的警告框。业务上
gMock是什么当我们去写测试时,有些测试对象很单纯简单,例如一个函数完全不依赖于其他的对象,那么就只需要验证其输入输出是否符合预期即可。但是如果测试对象很复杂或者依赖于其他的对象呢?例如一个函数中需要访问数据库或者消息队列,那么要想按照之前的思路去测试就必须创建好数据库和
一、数据仓库数据仓库是一个面向主题的、集成的、随时间变化,但信息本身相对稳定的数据集合,相比于传统型数据库,它主要用于支持企业或组织的决策分析处理。主要有以下3个特点: 数据仓库是面向主题的: 数据仓库中的数据是按照一定的主题域进行组织,大概意思就是说存的数据是一类数据 数
MySQL简单介绍: MySQL 是一个开放源码的关系数据库管理系统,开发者为瑞典 MySQL AB 公司。目前 MySQL 被广泛地应用在 Internet 上的大中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站
前言  Mybatis 中 select 标签有两个属性 resultType 和 resultMap,用于在mapper.xml文件中配置返回结果类型,工作中经常使用到它们。那么在日常开发中,应该如何正确的选择呢?下面我们对这两个属性分别进行讲解和演示。结果类型resultType  resultType直译就是结果
Apache Doris 是一款高性能 MPP 分析型数据库,出于性能的考虑,Apache Doris 使用了 C++ 语言实现了执行引擎。在 C++ 开发过程中,影响开发效率的一个重要因素是指针的使用,包括非法访问、泄露、强制类型转换等。Google Sanitizer 是由 Google 设计的用于动态代码分析的工具,在 Apache Do
Nexus是Sonatype提供的仓库管理平台,Nuexus Repository OSS3能够支持Maven、npm、Docker、YUM、Helm等格式数据的存储和发布;并且能够与Jekins、SonaQube和Eclipse等工具进行集成。 Nexus支持作为宿主和代理存储库的本地Maven/Docker存储库,可以直接将这些存储库暴露给客户端工具;也可
一、应用场景大家在使用Mybatis进行开发的时候,经常会遇到一种情况:按照月份month将数据放在不同的表里面,查询数据的时候需要跟不同的月份month去查询不同的表。但是我们都知道,Mybatis是ORM持久层框架,即:实体关系映射,实体Object与数据库表之间是存在一一对应的映射关系。比如:@Datapubl
第一章:数据载入及初步观察载入数据任务一:导入numpy和pandas import numpy as np import pandas as pd 任务二:载入数据 train_data = pd.read_csv("train.csv") train_data.head(5) train_data = pd.read_table("train.csv")
一、常用的MySQL语句先来学习一些基本的sql语句来进行操作吧。经常使用的语句1.show databases; 查看所有的数据库2.create database test; 创建一个叫test的数据库3.drop database test;删除一个叫test的数据库4.use test;选中库 ,在建表之前必须要选择数据库5.show tables; 在选
一、类加载过程程序员编写的Java源程序(.java文件)在经过编译器编译之后被转换成字节代码(.class 文件),类加载器将.class文件中的二进制数据读入到内存中,将其放在方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类加载的最终产品是位于堆区中的Class对
线程池无论是工作还是面试都是必备的技能,但是很多人对于线程池的实现原理却一知半解,并不了解线程池内部的工作原理,今天一灯就带大家一块剖析线程池底层实现原理。1. 为什么要使用线程池使用线程池通常由以下两个原因: 频繁创建销毁线程需要消耗系统资源,使用线程池可以复用线程。
有朋友聊到他们的系统中要接入全文检索,这让我想起了很久以前为一个很古老的项目添加搜索功能的事儿。一提到全文检索,我们首先就会想到搜索引擎。也就是用一个词、一段文本搜索出匹配的内容。一般这种技术都有对应的实现方式,ES(ElasticSearch)就是专门干这个的,如果你们的业务中明确需
1. 程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。JVM可以同时支持多个执行线程。每个Java虚拟机线程都有自己的pc(程序计数器)寄存器。在任何时候,每个Java虚拟机线程都在执行单个方法的代码,即该线程的当前方法
我们都知道在Java编程中多线程的同步使用synchronized关键字来标识,那么这个关键字在JVM底层到底是如何实现的呢。 我们先来思考一下如果我们自己实现的一个锁该怎么做呢: 首先肯定要有个标记记录对象是否已经上锁,执行同步代码之前判断这个标志,如果对象已经上锁线程就阻塞等待锁的释
索引是提高读取性能的一种方法,但它也会使写入性能变差,因此请考虑根据您的用例在应用程序中使用索引。为了演示,我将使用 antable 来处理 1000 万条记录:orderscreate table orders ( id serial primary key, total integer, -- unit: usd user_id integer, created_at date);然后
1 概述我们所说的Aop(即面向切面编程),即面向接口,也面向方法,在基于IOC的基础上实现。 Aop最大的特点是对指定的方法进行拦截并增强,这种增强的方式不需要业务代码进行调整,无需侵入到业务代码中,使业务与非业务处理逻辑分离。 以Spring举例,通过事务的注解配置,Spring会自动在业务方法中开
ZGCJava SE 11 JEP 333将 ZGC 垃圾收集器作为一项实验性功能引入。 这个 JEP 377 修复了一些错误,增加了一些功能和改进,现在支持 Linux/x86_64 、Linux/aarch64、Windows 和 macOS 等主要平台。 这个JEP 377还将 ZGC 从一个实验性功能变为一个产品功能。然而,默认的垃圾收集器仍然是
MySQL优化器可以生成Explain执行计划,我们可以通过执行计划查看是否使用了索引,使用了哪种索引?但是到底为什么会使用这个索引,我们却无从得知。好在MySQL提供了一个好用的工具 — optimizer trace(优化器追踪),可以帮助我们查看优化器生成执行计划的整个过程,以及做出的各种决策,包括
环境 顾客零晨把HIS数据库迁移到配备更高新服务器,早上业务流程高峰期时使用特别迟缓,严重影响了业务流程运作。 1.状况根据SQL权威专家云即时可视化界面见到大量绿点,绿点表明对话等待某种网络资源,绿点越多表明等待会话数越大。 进到活动会话目录,发觉很多会话的情况为runnable,runna
多线程并发在多核CPU中,利用多线程并发编程,可以更加充分地利用每个核的资源在Java中,一个应用程序对应着一个JVM实例(也有地方称为JVM进程),如果程序没有主动创建线程,则只会创建一个主线程。但这不代表JVM中只有一个线程,JVM实例在创建的时候,同时会创建很多其他的线程(比如垃圾收集器线程)
1序言目标复制,是在研发流程中,避不开的一个过程,既存在Po、Dto、Do、Vo每个表现层数据库的变换,也存在系统交互如实例化、反序列化。Java对象复制分成深拷贝和浅拷贝,现阶段常见的特性复制专用工具,包含Apache的BeanUtils、Spring的BeanUtils、Cglib的BeanCopier、mapstruct全是浅拷贝。
事情发生学了三遍的servlet,经典老师又教的第一万遍登陆注册,并且让实现,并且让演示,我们老师可能和之前的小学期公司老师 完全没有沟通过,我们小学期大作业都做了一个小项目出来还搁这登陆注册。 就把五个月前写的一个小项目拿出来,是一个类似菜鸟教程的网站,不过只有java的教程,这都是后
结论 gRPC keepAlive是grpc框架在应用层面连接保活的一种措施。即当grpc连接上没有业务数据时,是否发送pingpong,以保持连接活跃性,不因长时间空闲而被Server或操作系统关闭 gRPC keepAlive在client与server都有,client端默认关闭(keepAliveTime为Long.MAX_VALUE), server端默认打开