06 2018 档案
摘要:陷阱一:不要只用readOnly=true @Transactional(readOnly = true) public TradeData getTrade(long tradeId) throws Exception { return em.find(TradeData.class, trade
阅读全文
摘要:一、具体的实现原理 对volatile变量执行写操作时,会在写操作后加入一条store屏障指令 对volatile变量执行读操作时,会在读操作前加入一条load屏障指令 说人话: 对volatile变量执行读操作时,都要强制的先从主内存读取最新的变量值到工作内存,然后再读工作内存中所存储的变量副本
阅读全文
摘要:认识synchronized 对于写多线程程序的人来说,经常碰到的就是并发问题,对于容易出现并发问题的地方价格synchronized基本上就搞定 了,如果说不考虑性能问题的话,这一操绝对能应对百分之九十以上的情况,若对于性能方面有要求的话就需要额外的知识比如读写锁等等。本文目的先了解透彻synch
阅读全文
摘要:一、Class.forName("").newInstance(); 1. Class.forName( )静态方法的目的是为了动态加载类(初始化类)。在加载完成后,一般还要调用Class下的newInstance( )静态方法来实例化对象以便操作。因此,单单使用Class.forName( )是动
阅读全文
摘要:一、什么是ClassLoader? 大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常要从这个
阅读全文
摘要:一、去重,去除多个字段相同的记录,保留一个 场景一:去除表中所有重复数据,均只保留一个 delete from tbl_dept where dept_id not in ( select id from ( select min(dept_id) as id from tbl_dept group
阅读全文
摘要:MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的拓展。多个数据备份不仅可以加强数据的安全性,通过实现读写分离还能进一步提升数据库的负载性能。 下图就描述了一个多个数据库间主从复制与读写分离的模型(来源网络): 在一主多从的数据库体系中,多个从服务器采用异步的方式更
阅读全文
摘要:1. 文件授权 chmod u+x somefile 只授予这个文件的所属者执行的权限 chmod a+x somefile 授予所有用户执行的权限(简写chmod +x somefile) u 代表用户 g 代表用户组 o 代表其他 a 代表所有 2.查看内存大小 free -g 3. 查看最消耗
阅读全文
摘要:一、MyCat分库原理 1、非分片字段查询 Mycat中的路由结果是通过分片字段和分片方法来确定的。例如下图中的一个Mycat分库方案: 根据 tt_waybill 表的 id 字段来进行分片 分片方法为 id 值取 3 的模,根据模值确定在DB1,DB2,DB3中的某个分片 如果查询条件中有 id
阅读全文
摘要:二叉查找树 二叉树具有以下性质:左子树的键值小于根的键值,右子树的键值大于根的键值。 如下图所示就是一棵二叉查找树, 对该二叉树的节点进行查找发现深度为1的节点的查找次数为1,深度为2的查找次数为2,深度为n的节点的查找次数为n,因此其平均查找次数为 (1+2+2+3+3+3) / 6 = 2.3次
阅读全文
摘要:今天和同学探讨说MySQL哪些存储引擎支持hash索引,因为所看书籍MySQL版本和现有的MySQL版本有出入,故中间出了点歧义。所以就手动敲了一下代码,测试了一下MySQL8.0中的存储引擎是如何支持hash索引的。 我们都知道MySQL最常用的存储引擎为InnoDB和MyISAM。它们默认的存储
阅读全文
摘要:Ok,我们知道了,引擎就是一个程序的核心组件。 简单来说,存储引擎就是指表的类型以及表在计算机上的存储方式。 存储引擎的概念是MySQL的特点,Oracle中没有专门的存储引擎的概念,Oracle有OLTP和OLAP模式的区分。不同的存储引擎决定了MySQL数据库中的表可以用不同的方式来存储。我们可
阅读全文
摘要:一、EXPLAIN介绍 MySql提供了EXPLAIN语法用来进行查询分析,在SQL语句前加一个"EXPLAIN"即可。比如我们要分析如下SQL语句: 运行上面的sql语句后你会看到,下面的表头信息: table | type | possible_keys | key | key_len | re
阅读全文
摘要:查看表定义: show create table users; 查看表的索引: show index from users; 你要获取第一个表的所有信息,你说全表扫描快呢还是索引扫描快呢?所以当你查找库(包括left join中的临时库)的所有信息时,数据库会选择最优方法——全表扫描!!! /*s表
阅读全文
摘要:普通索引 添加INDEX ALTER TABLE `table_name` ADD INDEX index_name (`column`) 主键索引 添加PRIMARY KEY ALTER TABLE `table_name` ADD PRIMARY KEY (`column`) 唯一性约束 添加U
阅读全文
摘要:一、区别 1. HttpURLConnection是Java的标准类,它继承自URLConnection,可用于向指定网站发送GET请求、POST请求。采用流式处理,比较便于流量管控、处理大的文件或参数 2. HttpClient 是Apache的一个三方网络框架,网络请求做了完善的封装,api众多
阅读全文
摘要:为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用, 从而保证了该变量的唯一性和准确性。 1. 同步方法 即有synchronized关键字
阅读全文
摘要:java 线程池的实现原理,threadpoolexecutor关键参数解释 hashmap的原理,容量为什么是2的幂次 为什么要同时重写hashcode和equals ConcurrentHashMap如何实现线程安全? 介绍Java多线程的5大状态,以及状态图流转过程 介绍下Synchroniz
阅读全文