
java
文章平均质量分 64
zhangxiaomin19921
这个作者很懒,什么都没留下…
展开
-
innodb间隙锁看这一篇就够啦~
innodb的默认事务隔离级别是rr(可重复读)。它的实现技术是mvcc(MVCC只在读提交可重复读两种隔离级别下工作)。基于版本的控制协议。该技术不仅可以保证innodb的可重复读,而且可以防止幻读。但是它防止的是快照读,也就是读取的数据虽然是一致的,但是数据是历史数据。为什么说他读的是历史数据的可重复读呢,因为根据这个mvcc的查询规则,新数据他是看不到的,无感知的。mvcc查询和更新的原则:SELECT操作的查询结果要同时满足条件:1、只会查询版本号小于等于当前版本号的数据作为结果返回,保原创 2021-07-13 18:01:02 · 1307 阅读 · 2 评论 -
分库分表后全局ID和分页查询的考虑
分库分表带来的问题 1.分库分表之后一个必然的问题,如何获取一个全局为一个ID?因为表中的数据是通过ID路由映射的,ID不能重复。 2.就算有了全局唯一的ID,那面对分页查询的需求,应该怎么处理呢? 唯一ID的生成 下面列举几种常见的唯一ID生成方案,需要满足两大核心需求:1.全局唯一 2趋势有序 1.用数据库的auto_increment(自增ID)来生成,每次通过写入数据库一条记录,利用数据库ID自增的特性获取唯一,有序的ID。 优点:使用数据...转载 2021-07-06 17:03:22 · 554 阅读 · 0 评论 -
基本类型的重载方法
基本类型传递给重载方法,有个规则:byte->short->int->long->float->doubleshort->int->long->float->doublechar->int->long->float->double指的就是byte、char、short等"较小"类型能自动转换成较大...原创 2020-04-21 17:45:08 · 520 阅读 · 0 评论 -
float和double的范围和精度
float 4个字节,32位,float:1bit(符号位)+8bits(指数位+23bits(尾数位)float:2^23 = 8388608,共七位,意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;double 8个字节,64位,double:1bit(符号位)+ 11bits(指数位)+ 52bits(尾数位)double:2^52 = ...原创 2020-04-21 17:14:36 · 2366 阅读 · 0 评论 -
一篇文章搞懂系列:深入理解mysql索引底层数据结构与算法
http://note.youdao.com/noteshare?id=478e1e0f1b1db4ac287fffc27dccd3d0原创 2019-05-21 10:52:58 · 221 阅读 · 0 评论 -
一篇文章搞定系列:装箱和拆箱
本文参考:http://www.cnblogs.com/dolphin0520/p/3780005.html装箱 int -》integer,integer ainteger =1;反编译后的实际上是Integer.valueOf(1)拆箱 integer-〉int,int a = ainteger;反编译后实际上是ainteger.intValue();规则:1.== 两边的类型...原创 2019-02-21 16:28:06 · 252 阅读 · 0 评论 -
java深拷贝和浅拷贝
从今天开始将不定期更新一篇文章搞懂XXX系列,系列目录以后更新第一篇:java深拷贝和浅拷贝,发现技术问题的请私信,评论,加qq指导!1、浅拷贝:将stu1的引用赋值给stu2,stu1和stu2指向内存堆中同一个对象,一个对象的改变会引起另一个对象的改变2、深拷贝的几种实现方式2.1、实现Cloneable接口,假设有依赖属性是类B,类B也需要实现Cloneable接口,假设...原创 2019-02-19 13:48:30 · 472 阅读 · 0 评论 -
模拟一个redis缓存组件启动器
starter是springboot的一个启动器,引入这个启动器就可以使用想用的功能。类似spring-boot-starter-web等功能,现在模拟一个redis缓存启动器,实现功能:其他项目引入这个组件依赖,在配置文件中加上redis连接配置后1.可以直接使用redis工具类操作redis存数据,不用在另外的项目中再弄一个工具类2.可以在自定义缓存注解在指定方法上存放方法返回...原创 2018-08-20 19:55:23 · 370 阅读 · 0 评论 -
==equals装箱拆箱基础
package com.my.java.base;public class TestLong { public static void main(String[] args) { /** * 和integer一样,Long也有一个缓冲区,值在-127到128之间的数==是相等的,超过不相等 */ Long id1 = 123L; Long id2 = 123L;...转载 2018-08-03 12:25:42 · 301 阅读 · 0 评论 -
mac定时任务和发送附件
有个任务是等运维要找我要文件的时候去生产ftp下载下来给他,嗯嗯,每天,好繁琐,偷偷的本地跑了个定时,每天11点执行jar包,jar包的功能就是给运维发送邮件,ok。1.mac系统自带定时任务功能:00 11 * * * cd /Users/yp-tc-m-7129/newworkspace/ftpFileEmail/target && java -jar ftpFileEmail...原创 2018-05-29 15:41:48 · 1832 阅读 · 0 评论 -
基础坑
zheif you can learn,why care who tell you,how to tell you?1.控制表状态进入后先更新为process,最后更新为SUCCESS,为了防止其他sql更新其他字段导致版本号加1,最后的SUCCESS状态就不做乐观锁控制了2.遍历日期,第0天跳过,每天指定商户跳过,不影响其他商户和其他天,注意while 和 for 的双层循环i==0...转载 2018-05-17 13:49:57 · 616 阅读 · 0 评论 -
ftp文件上传下载和创建多级目录
ftp文件上传下载和创建多级目录 /** * ftp上传文件 * * @param url * FTP服务器hostname * @param port * FTP服务器端口 * @param username * FTP登录账号 * @param password *原创 2017-06-23 14:12:25 · 9790 阅读 · 1 评论 -
java浅拷贝和深拷贝
java浅拷贝和深拷贝原创 2017-02-17 17:27:02 · 355 阅读 · 0 评论 -
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?这不是因为电脑环境变量jdk的问题,是因为我引入项目的时候不是import exsiting maven project 而是exsiting projects into workespac原创 2017-02-14 15:09:05 · 342 阅读 · 0 评论 -
hashmap源码解析
hashmap源码解析原创 2017-02-06 12:15:46 · 327 阅读 · 0 评论 -
validate 验证用户名是否重复和制定错误位置
validate 验证用户名是否重复和制定错误位置原创 2016-11-30 12:00:16 · 2253 阅读 · 0 评论 -
java生产者消费者模式实现
java生产者消费者模式实现原创 2016-11-25 16:21:18 · 512 阅读 · 0 评论 -
java线程面试题之--两个线程,子线程10次,主线程5次,子线程10次,主线程5次,如此往复50次
两个线程,子线程10次,主线程5次,子线程10次,主线程5次,如此往复50次转载 2016-11-22 14:47:10 · 1009 阅读 · 0 评论 -
ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the cont
ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the cont原创 2016-10-13 11:20:04 · 25295 阅读 · 3 评论 -
java项目加载配置文件的工具类
java项目加载配置文件的工具类原创 2016-09-28 14:47:03 · 1191 阅读 · 0 评论 -
积累的操作时间的工具类dateutil
积累的操作时间的工具类dateutil原创 2016-09-19 16:49:02 · 464 阅读 · 0 评论 -
常见sql
常见sql转载 2016-09-19 14:31:02 · 315 阅读 · 0 评论 -
java项目使用log4j工具类(非web项目)以及log4j.properties文件详解
java项目使用log4j工具类(非web项目)以及log4j.properties文件详解原创 2016-09-19 12:56:31 · 4446 阅读 · 0 评论 -
java对xml文件操作的工具类
java对xml文件操作的工具类原创 2016-09-18 15:17:19 · 7006 阅读 · 0 评论 -
java模拟httppost和httpget请求工具类
java模拟httppost和httpget请求工具类原创 2016-09-18 10:20:24 · 3937 阅读 · 0 评论 -
Thread类
了解thread类的一些信息:ID:每个线程的独特标示;Name:线程的名称;Priority:线程对象的优先级。优先级别在1-10之间,1是最低级,10是最高级。Status:线程状态。在java中,线程只有以下几种状态。1.新建状态(New): 当用new操作符创建一个线程时, 例如new Thread(r),线程还没有开始运行,此时线程处在原创 2016-08-31 17:47:25 · 285 阅读 · 0 评论 -
java多线程递增计数
java多线程递增计数转载 2016-08-31 16:42:57 · 5189 阅读 · 1 评论 -
多线程计数器之CountDownLatch和join
多线程访问全局变量,对同一全局变量的修改会影响其他线程变量的值。 多线程访问局部变量,对变量的修改不会影响其他线程中该变量的值。/** * 这个是实现计数器操作,主线程等待子线程全部完成 * 模拟场景:10个人赛跑,当所有的人到达终点后,比赛结束 * @author zhangm * */public class TestCountDownLatch {原创 2016-08-31 16:34:25 · 858 阅读 · 0 评论 -
关于bean不能被创建的问题
关于bean不能被创建的问题原创 2016-08-30 15:25:45 · 2769 阅读 · 0 评论 -
linix 下安装ngnix
linix 下安装ngnix原创 2016-08-16 22:01:29 · 312 阅读 · 0 评论 -
求java无重复的最长子串
求java无重复的最长子串原创 2016-08-06 18:43:21 · 1723 阅读 · 1 评论 -
本机安装2个tomcat7,部署不同项目
本机安装2个tomcat7,部署不同项目原创 2016-07-26 18:35:04 · 1268 阅读 · 0 评论 -
powerdesign和mysql的相互转化
powerdesign和mysql的相互转化原创 2016-07-21 14:14:01 · 3633 阅读 · 0 评论 -
java获取一维数组中连续数字分成几个连续的数字数组
java获取一维数组中连续数字分成几个连续的数字数组比如{12,13,14,23,24,34,45,46,47,48,56} 分成【12,13,14】【23,24】【34】【45,46,47,48】【56】等public static int[][] getContinuousNumber(int[] array) { int[][]arrays=new int[array.l原创 2016-07-09 22:54:58 · 13129 阅读 · 0 评论 -
java求字符串中挨着的连续数字并返回其长度
求字符串中相邻数字的长度,比如“qw123gh3456”返回4,“2345”返回3 数字必须是相邻的。//推荐测试数据 127,12456,we1we,we1235rt56public static StringBuffer getContinuousNumber(String str) { //count表示当前累计数字的个数 int count=0;原创 2016-07-09 18:11:15 · 8918 阅读 · 0 评论 -
java求得字符串中的最长数字串
求得“iou123jk3ui456789kljh23678h”中连续数字串并且返回最长的数字字符串长度 public static StringBuffer getMaxNum(String str1) { int maxLength=0; StringBuffer maxNumBuffer=null; int nowLength=0; StringBuf转载 2016-07-09 17:18:03 · 4943 阅读 · 1 评论 -
去除list里面的重复数组的性能比较
我的个天哪,重新看了一下自己之前写的代码,简单的代码风格都没有,变量名不清楚,甚至变量之间都没有空格,代码质量及其不规范。。。。常见的去除list里面的重复数组方式是一次遍历: public static List getNewNamelist(List oldlist, List newlist) { int k = 0;// 记录比较次数 ArrayList tempString原创 2016-07-09 15:10:43 · 1326 阅读 · 0 评论 -
oracle查询一个表有几个字段
oracle查询一个表有几个字段原创 2016-05-23 12:49:22 · 1197 阅读 · 0 评论 -
java左右斜杠的相互转化
public static void main(String[] args) { String strPath = "D:\\apache-tomcat-6.0.43\\bin"; String strPath2 = "D:/apache-tomcat-6.0.43/bin"; String strPath3 = "D:/apache-tomcat-6.0.43/bin";原创 2016-05-16 14:26:00 · 5840 阅读 · 0 评论 -
myeclipse 10优化
myeclipse 10优化原创 2016-04-09 13:20:25 · 581 阅读 · 0 评论