java
文章平均质量分 64
zhangxiaomin19921
这个作者很懒,什么都没留下…
展开
-
innodb间隙锁看这一篇就够啦~
innodb的默认事务隔离级别是rr(可重复读)。它的实现技术是mvcc(MVCC只在读提交可重复读两种隔离级别下工作)。基于版本的控制协议。该技术不仅可以保证innodb的可重复读,而且可以防止幻读。但是它防止的是快照读,也就是读取的数据虽然是一致的,但是数据是历史数据。为什么说他读的是历史数据的可重复读呢,因为根据这个mvcc的查询规则,新数据他是看不到的,无感知的。mvcc查询和更新的原则:SELECT操作的查询结果要同时满足条件:1、只会查询版本号小于等于当前版本号的数据作为结果返回,保原创 2021-07-13 18:01:02 · 1201 阅读 · 2 评论 -
分库分表后全局ID和分页查询的考虑
分库分表带来的问题 1.分库分表之后一个必然的问题,如何获取一个全局为一个ID?因为表中的数据是通过ID路由映射的,ID不能重复。 2.就算有了全局唯一的ID,那面对分页查询的需求,应该怎么处理呢? 唯一ID的生成 下面列举几种常见的唯一ID生成方案,需要满足两大核心需求:1.全局唯一 2趋势有序 1.用数据库的auto_increment(自增ID)来生成,每次通过写入数据库一条记录,利用数据库ID自增的特性获取唯一,有序的ID。 优点:使用数据...转载 2021-07-06 17:03:22 · 503 阅读 · 0 评论 -
基本类型的重载方法
基本类型传递给重载方法,有个规则:byte->short->int->long->float->doubleshort->int->long->float->doublechar->int->long->float->double指的就是byte、char、short等"较小"类型能自动转换成较大...原创 2020-04-21 17:45:08 · 479 阅读 · 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 · 2078 阅读 · 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 · 329 阅读 · 0 评论 -
validate 验证用户名是否重复和制定错误位置
validate 验证用户名是否重复和制定错误位置原创 2016-11-30 12:00:16 · 2213 阅读 · 0 评论 -
java项目加载配置文件的工具类
java项目加载配置文件的工具类原创 2016-09-28 14:47:03 · 1165 阅读 · 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 · 25084 阅读 · 3 评论 -
积累的操作时间的工具类dateutil
积累的操作时间的工具类dateutil原创 2016-09-19 16:49:02 · 439 阅读 · 0 评论 -
常见sql
常见sql转载 2016-09-19 14:31:02 · 279 阅读 · 0 评论 -
java项目使用log4j工具类(非web项目)以及log4j.properties文件详解
java项目使用log4j工具类(非web项目)以及log4j.properties文件详解原创 2016-09-19 12:56:31 · 4396 阅读 · 0 评论 -
java对xml文件操作的工具类
java对xml文件操作的工具类原创 2016-09-18 15:17:19 · 6931 阅读 · 0 评论 -
java模拟httppost和httpget请求工具类
java模拟httppost和httpget请求工具类原创 2016-09-18 10:20:24 · 3905 阅读 · 0 评论 -
java线程面试题之--两个线程,子线程10次,主线程5次,子线程10次,主线程5次,如此往复50次
两个线程,子线程10次,主线程5次,子线程10次,主线程5次,如此往复50次转载 2016-11-22 14:47:10 · 983 阅读 · 0 评论 -
java生产者消费者模式实现
java生产者消费者模式实现原创 2016-11-25 16:21:18 · 484 阅读 · 0 评论 -
hashmap源码解析
hashmap源码解析原创 2017-02-06 12:15:46 · 306 阅读 · 0 评论 -
一篇文章搞懂系列:深入理解mysql索引底层数据结构与算法
http://note.youdao.com/noteshare?id=478e1e0f1b1db4ac287fffc27dccd3d0原创 2019-05-21 10:52:58 · 194 阅读 · 0 评论 -
java深拷贝和浅拷贝
从今天开始将不定期更新一篇文章搞懂XXX系列,系列目录以后更新第一篇:java深拷贝和浅拷贝,发现技术问题的请私信,评论,加qq指导!1、浅拷贝:将stu1的引用赋值给stu2,stu1和stu2指向内存堆中同一个对象,一个对象的改变会引起另一个对象的改变2、深拷贝的几种实现方式2.1、实现Cloneable接口,假设有依赖属性是类B,类B也需要实现Cloneable接口,假设...原创 2019-02-19 13:48:30 · 435 阅读 · 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 · 200 阅读 · 0 评论 -
模拟一个redis缓存组件启动器
starter是springboot的一个启动器,引入这个启动器就可以使用想用的功能。类似spring-boot-starter-web等功能,现在模拟一个redis缓存启动器,实现功能:其他项目引入这个组件依赖,在配置文件中加上redis连接配置后1.可以直接使用redis工具类操作redis存数据,不用在另外的项目中再弄一个工具类2.可以在自定义缓存注解在指定方法上存放方法返回...原创 2018-08-20 19:55:23 · 337 阅读 · 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 · 277 阅读 · 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 · 1789 阅读 · 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 · 586 阅读 · 0 评论 -
ftp文件上传下载和创建多级目录
ftp文件上传下载和创建多级目录 /** * ftp上传文件 * * @param url * FTP服务器hostname * @param port * FTP服务器端口 * @param username * FTP登录账号 * @param password *原创 2017-06-23 14:12:25 · 9667 阅读 · 1 评论 -
java浅拷贝和深拷贝
java浅拷贝和深拷贝原创 2017-02-17 17:27:02 · 334 阅读 · 0 评论 -
Thread类
了解thread类的一些信息:ID:每个线程的独特标示;Name:线程的名称;Priority:线程对象的优先级。优先级别在1-10之间,1是最低级,10是最高级。Status:线程状态。在java中,线程只有以下几种状态。1.新建状态(New): 当用new操作符创建一个线程时, 例如new Thread(r),线程还没有开始运行,此时线程处在原创 2016-08-31 17:47:25 · 274 阅读 · 0 评论 -
java多线程递增计数
java多线程递增计数转载 2016-08-31 16:42:57 · 5139 阅读 · 1 评论 -
多线程计数器之CountDownLatch和join
多线程访问全局变量,对同一全局变量的修改会影响其他线程变量的值。 多线程访问局部变量,对变量的修改不会影响其他线程中该变量的值。/** * 这个是实现计数器操作,主线程等待子线程全部完成 * 模拟场景:10个人赛跑,当所有的人到达终点后,比赛结束 * @author zhangm * */public class TestCountDownLatch {原创 2016-08-31 16:34:25 · 820 阅读 · 0 评论 -
java面试题之static
java面试题之static原创 2016-03-30 15:40:52 · 3722 阅读 · 0 评论 -
关于myeclipse的破解run.bat一闪而过的问题
重装系统之后,myeclipse提示试用快过期。下载了破解工具解压之后双击run.bat一闪而过,百度了一下,把run.bat的内容修改为java -jar croker.jarpause就是把*.jar改成了压缩包的名称.jar还是不行。后来怀疑自己环境变量在重装系统之后配置错误了,就去查看path,真的没有jdk等的配置了。重新下载jdk,安装jdk,jre原创 2015-09-21 09:11:07 · 6263 阅读 · 0 评论 -
DiskFileUpload类和fileitem类
1.2.2 DiskFileUpload类DiskFileUpload类是Apache文件上传组件的核心类,应用程序开发人员通过这个类来与Apache文件上传组件进行交互。下面介绍DiskFileUpload类中的几个常用的重要方法。1.setSizeMax方法setSizeMax方法用于设置请求消息实体内容的最大允许大小,以防止客户端故意通过上传特大的文件来塞满服务器端的转载 2015-09-17 10:10:22 · 539 阅读 · 0 评论 -
关于jdbc重点讲解实例--使用jdbc操作数据库上传附件
关于jdbc章节Jdbc描述:访问数据库是通过jdbc,使用jdbc访问mysql需要mysql的驱动。Jdbc定义了java数据库连接,sql语句的执行以及查询结果的遍历等操作,把这些操作定义为接口,在java.sql.jar包下面。Jdbc连接:Jdbc访问数据库的一般步骤:注册驱动,获取连接,获取statement,执行sql并返回结果集,遍历结果集显示数据,断开连接。原创 2015-09-17 14:12:49 · 963 阅读 · 0 评论 -
关于System.currentTimeMillis()和System.nanoTime()
关于System.currentTimeMillis()和System.nanoTime()(1)System.currentTimeMillis()返回的是距离1970年1月1日的毫秒数,可获得当前时间:例1:SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); sdf.format(new Date()); 2015转载 2015-09-16 10:56:23 · 643 阅读 · 0 评论 -
关于string stringbuilder stringbuffer
关于string stringbuilder stringbufferStringbuffer是多线程的,线程安全的,stringbuilder是单线程的,不安全的、String的值是不能改变的,任何对string的操作都会引起新的stiring对象的产生。后两个不会产生新的对象,当字符串大小超过容量时,会自动增加容量。三者的速度:string转载 2015-09-16 15:44:30 · 329 阅读 · 0 评论 -
关于java和.net中string string[] arraylist的相互转化
关于string string[] arraylist的相互转换arraylist转string[]arraylist list=new arraylist();list.add("aa");list.add("bb");string[] s=(string[])list.ToArray(typeof(string)); string[] 转arraylistarr原创 2015-09-16 15:01:05 · 3213 阅读 · 0 评论 -
java中date,string,timestamp,时间戳的相互转换大全
关于string date timestamp之间的相互转换1. string转datestring datestr=”2015-09-0109:00:00”;date date=new Date();SimpleDateFormate sdf=new SimpleDateFormate(“yy-mm-ddHH:mm:ss”);date=sfd.parse(datestr)原创 2015-09-16 10:53:39 · 3015 阅读 · 0 评论 -
重点讲解java--jsp
二:Jsp部分这样便利数组的效率要高!Out属性Request属性Response属性Config属性Session属性Application属性Pagecontext属性El隐含对象 Jsp-config标签原创 2015-09-14 18:17:49 · 411 阅读 · 0 评论 -
java--servlet重点讲解
生成随机验证码public classidentfify extends HttpServelet{public statcifinal char[] chars={'2','3','9','a','z'};//随机字符串public staticRandom random=new Random();//随机数public static StringgetRandomString(原创 2015-09-14 18:11:34 · 586 阅读 · 0 评论 -
测测你的编程思想!--大牛必看!
测测你的编程思想!--大牛必看!原创 2016-03-30 18:29:35 · 459 阅读 · 0 评论 -
Unexpected internal error near index 1
Unexpected internal error near index 1原创 2016-03-12 10:05:05 · 1873 阅读 · 0 评论