自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(102)
  • 资源 (4)
  • 收藏
  • 关注

原创 mysql mvcc实现原理

mysql innodb mvcc

2022-04-09 14:45:20 1054

原创 redis java实现秒杀

java 使用redis实现秒杀,delayQueue

2022-03-30 10:50:12 3231

原创 格雷编码算法实现

数字序列范围为0-2^n-1,且第一位数字为0,每个数字只出现一次。相邻两个数字的二进制编码只有一位不一样,首尾两个数字的二进制编码也是只有一位不一致,即“首尾相连”,因此又称循环码或反射码代码实现逻辑,求n长度的格雷序列,前n-1的序列沿用原来n-1的格雷序列,后n-1长度的序列由前n-1对称转换,并加上2^n-1即可。由于后n-1是由前n-1对称而来,相邻关系和前n-1一致,前n-1的首位末尾正好是后n-1的首位,前n-1的首位即是后n-1的末尾,加上2^n-1刚好相差一位。java代码

2022-01-08 11:27:55 198

原创 二分查找(查找相等元素或者查找最接近元素)

二分查找,查找相等元素和最接近的元素

2021-12-12 18:57:39 1783

原创 hashMap put方法

工作中有这样的场景,需要判断hashMap中是否包含某个key,如果不包含,则put该key进map,包含则再做对应的操作。判断是否包含一般都用containsKey或者get!=null。今天刷了一道算法题,然后去瞅了一眼hashMap的put方法的源码,发现put方法如果存在该key值,会返回旧的value值,不存在返回null,所以可以直接一步操作,直接用map.put(key,value)进行判断,不为null做xx操作,存在做xx操作。map.put(key,map.getOrDefa

2020-09-09 21:33:27 454

原创 mysql技术内幕 innodb存储引擎第二版 第二章小结

2.1 概述innodb存储引擎支持行锁,mvcc,外键,一致行非锁定读。Mvcc:多版本并发控制。一致性非锁定读:当读取的数据被加上x锁时,读取数据不会阻塞,读取的是该数据的快照,rc隔离级别下读取的是最新的一份快照,rr下读取的是事务开始时的快照。如果要支持一致性锁定读,可以通过两种方式 1 select … for update 2 select ... lock in...

2019-11-12 16:32:11 188

原创 mysql技术内幕 innodb存储引擎第二版 第一章小结

一 mysql 体系结构和存储引擎1.1 数据库和实例数据库是指代存储数据的各种文件实例就是数据库的后台线程以及一个共享内存区组成,也就是一个进程,可以用ps -ef|grep mysqld 查看实例进程的详细信息。linux上读取配置文件的顺序 /etc/my.cnf->/etc/mysql/my.cnf->/usr/local/mysql/etc/my....

2019-10-21 10:39:00 187

原创 笔记

对象比较,使用java.util.Objects的equals方法方法的实现是(a==b)||(a!=null&&a.equals(b))如果a==b,直接返回true,如果对象不相等,则先判断a是否为null,再用equals与b比较,防止抛出a为null的异常包装类值比较,使用equals方法,不要使用==,Integer类型的值在-128到127是在Intege...

2019-10-08 17:11:28 483

原创 CHECKSUM TABLE 语法(翻译自mysql官方文档)

CHECKSUM TABLE tbl_name [, tbl_name] ... [QUICK | EXTENDED]check table is reports a table checksumcheck table 命令提供了表的checksum。this statement requires theselect privilege for the table此语句需...

2019-08-12 14:32:21 1764

原创 Integer创建小于128与大于128,创建的区别

Integer a = 1,等价于Integer a = Integer.valueOf(1);Integer类内部维护了一个IntegerCache类,用数组维护-128到127之间的Integer值,除非显示声明了java.lang.Integer.IntegerCache.high的值,具体怎么声明,还没有找到。。。一开始加载Integer类的时候,就初始化了IntegerCache...

2019-04-15 17:47:50 355

原创 spring集成dubbo简单使用,maven管理

dubbo配置provider生产者需要配置注册中心,应用名称,协议方式,暴露的服务consumer消费者需要配置注册中心,应用名称,引用服务在配置注册中心,zookeeper注册中心配置这些基本就能启动一个简单的dubbo应用,spring和dubbo配置,maven构建项目,引入需要的jar包,pom.xml如下 <dependencies> ...

2019-03-12 10:30:53 351

原创 jdk1.8 List接口默认方法说明

int size();返回list的长度。boolean isEmpty();判断list是否为空。boolean contains(Object o);判断list是否包含指定对象。Iterator<E> iterator();以适当的顺序返回列表中元素的迭代器Object[] toArray();将list中的元素以Object数组的形...

2019-01-01 22:44:36 719

原创 ArrayList jdk1.8源码分析

ArrayList父类关系ArrayList继承AbstractList抽象类,实现了List,RandomAccess,Cloneable,Seriazable四个接口。RandomAccess,Cloneable,Seriazable是标记接口,本身没有内容。RandomAccess用于标明实现该接口的List支持快速随机访问,主要目的是使算法能够在随机和顺序访问的list中表...

2018-08-13 22:06:28 668

转载 永久激活(破解) IntelliJ IDEA 2018

参考 https://www.douban.com/note/671690598/

2018-07-04 14:18:40 1785

原创 java学习(10-14)

一 Number类以及方法Byte,Short,Interger,Long,Float,Double包装类均是Number类的子类,Number类位于java.util包内。Integer x = 1; x = x + 1;//相当于 Integer x=Integer.valueOf(1) ;x=Integer.valueOf(x.intValue()+1);只不过编译

2017-10-14 10:25:37 222

原创 linux下java获取ip

InetAddress.getLocalHost().getHostAddress().toString()

2017-10-11 10:37:57 940

转载 linux 下启动关闭oracle数据库以及oracle相关知识

1  以oracle用户登录服务器,命令为 su - oracle2 进入sqlplus控制台,命令为 sqlplus /nolog3 管理员身份登录,命令为 connect  /  as sysdba4 启动数据库,命令为 startup,关闭命令为 shutdowm immediate5 退出sqlplus控制台,命令为exit6 进入监听器控制台,命令为 lsnrctl

2017-10-09 10:11:34 312

原创 java算24点

package test;public class Ershisidian { static double array[] = { 2, 3, 8,13 };//需要算的数 static String yunsuan[] = { "+", "-", "*", "/" }; public static void main(String args[]) { for (int i =

2017-08-23 11:05:05 882

原创 git学习

一、安装(Install)1.Linux系统从git官网上下载源码,解压,依次输入: 1./config 2 make 3 sudo make install2.Windows系统从https://git-for-windows.github.io下载,直接安装即可。在开始菜单中找到Git bash,即说明安装成功,这个时候还需要一步操作。双击G

2017-06-25 22:23:55 290

原创 eclipse使用技巧

一  文件被外部修改自动刷新window->preference->general->workspace有两个选择1 refresh on access   这个应该是每次打开的时候刷新2 refresh using native hooks or polling  这个应该是轮询刷新吧(不知道对不对,找不到中文介绍,先记着)自己感觉用第一种好点,如果第二种是轮询刷新的话,比较

2017-05-02 15:39:38 566

原创 使用powerdesigner 导出oracle er图

1 工具 powerdesigner 16.5,Oracle 11g InstantClient.exe, instantclient-odbc-windows.x64-11.2.0.3.0.zip第一步 安装 powerdesigner,傻瓜式安装第二步 运行Oracle 11g InstantClient.exe,将instantclient-odbc-windows.x64-11.2

2017-04-20 16:24:03 8035

原创 jms与Mq(Activemq)初识

jms是提供消息服务的技术规范,规定了消息服务过程的数据格式与交互流程。mq是消息服务的提供者,是面向消息中间件。mq可以基于jms规范,也可以根据其他的消息服务规范。第一次使用。1 下载activemq。运行/bin下面的activemq.bat.可以通过http://localhost:8161/admin/ 访问,默认用户密码为admin。2 java demo。

2017-04-12 18:54:12 505

原创 jetty和tomcat解析xml路径区别

原本的项目是用tomcat跑的,log42j的日志跑的很欢畅,结果换到jetty上就不行了,一开始jetty启动了,但是日志不打,后来clean project,结果启动出错,找不到配置文件,看了一下java build path->source,发现我把配置的文件夹删了,但是jetty好像有缓存,所以昨天可以正常跑,然后把config添加到source里,

2017-03-14 15:56:42 1226

原创 log4j2

1 log4j自定义日志级别项目上遇到获取前端请求,在请求第三方系统,担心这个性能问题所以需要打印出请求花费的时间,好做分析。一开始想用log4j info级别输出,结果发现info日志打印的太多了,会将打印的时间打乱点,我只需要打印出类似"此次请求花费了多少时间"还有线程号之类的然后百度日志单独输出到一个文件,结果没什么用处,还是同事靠谱,自定义一个日志级别。Ok搞定,当然首

2017-03-10 15:53:53 2193

原创 eclipse反编译(插件安装以及jad.exe)

因为最近接手的一个项目是springmvc+spring+hiberante的,加上最近面试,有被说我连这个框架都不会配置(我表示一脸懵逼,因为压根没问啊),所以还是想系统的配置一遍,顺便理解下原理,以及实现,一开始看了web.xml关于dispacherservlet的配置,想看下dispacherservlet实现的,就点进去看下源码,结果出现如下情况第一反应是jar包没引,结果在

2017-03-07 09:10:05 2180

原创 git

第一次上手git,先小计一下几个命令git config -global user.name ""  定义所有的git版本库的所有者git config -global user.email ""git init 将当前文件夹初始化为git仓库git add 文件名 将文件加入到git仓库中git commit -m "" 将当前库提交到git仓库 引号内容为此次提交修

2017-02-27 23:52:50 245

原创 排序算法小记

/** * 冒泡 * * @param a * @param length */ public void bubbleSort(int a[], int length) { System.out.println("---------冒泡排序---------"); int x; // i从0开始,所以i+j和i+j+1比较,j小于length - 1 - i

2017-02-23 10:31:06 215

原创 centOs6.5(VMware Workstation)

ip设置GATEWAY=192.168.164.1      #设置网关的IP地址IPADDR=192.168.164107          #IP地址NETMASK=255.255.255.255          #子网掩码 网关的前三个数字需要和上图中的前三位一致,ip地址也是一样。开启ssh服务/etc/init.d/sshd restart

2017-02-22 09:09:59 557

原创 linux命令

1 top查看服务器性能2 cat /proc/cpuinfo查看服务器cpu个数和配置3 tail –f 文件名实时查看文件内容4 vi 文件名编辑文件,insert为插入,再按一次insert替换编辑,esc退出编辑,:wq保存,:q!不保存5 ctrl+c退出vi编辑模式6 ctrl+l刷新7 单击鼠标左键复制右键黏贴8 ?字符串向上搜

2017-02-14 14:57:44 305

原创 sql语句

1 根据值长度排序SELECT * FROM user ORDER BY LENGTH(relBigPic) desc

2017-02-10 13:49:17 350

原创 又是编码问题,hibernate

今天把毕设的项目重新跑了一下,结果爆炸,数据查不出来,我坚信程序没问题,因为毕业答辩的时候都跑过了。我就认为是换了个数据库的原因,直接把mysql下面data的数据库文件直接复制过去是不行的,然后就直接重建数据库,结果还是不行,把hibernate打印出来的sql直接拿去mysql下面跑是找的到数据的,我也真的是服了,最后我就把sql语句改了一点一点排查错误,然后就发现用like条件的时候就查不出

2017-01-03 19:00:02 372

转载 jsp与js之间变量赋值问题

转自 http://www.educity.cn/java/1123424.html在jsp中经常会遇到把js变量赋给java变量,或者将java变量赋给js变量的情况,在此将通用的处理方法小结如下:java变量传给js好办,var a=”“;注意要将引号”"加上;js变量给java稍微复杂点,一般是在表单中用一个的隐藏表单元素,然后在脚本中将js变量值赋给它:

2016-10-10 23:37:48 18336

原创 mysql解压版更改所在目录

因为文件夹原来是中文的不知道改了什么ini的文件中的路径变成了乱码.所以mysql服务启动的时候,一直报1067错误,就把文件夹名字改成中文,结果启动服务报2错误找不到文件,改了环境变量也没用,最后改了注册表HKEY_LOCAL_MACHINE-SYSTEM-CurrentControlSet-services-mysql(服务名)-ImagePath参考http://www.osch

2016-08-22 22:50:11 550

原创 数据库问题集合

1 删除数据库中某个字段重复的数据 只去第一条 剩下的删除DELETE from article where id not in(select a.id from (SELECT * from article) a INNER JOIN(SELECT id from article GROUP BY article) b ON a.id=b.id)2 oracle数据库

2016-08-11 13:27:53 280

原创 eclipse发布web项目兼ssh框架搭建

以下struts搭建 参考http://www.cnblogs.com/sunliming/archive/2010/10/04/1842114.html以前一直是用myeclipse发布web项目的,没有用过eclipse发布过web项目,eclipse的web项目都是从svn直接下来下的。因为最近刚好接触了一个ssh的项目,又刚好弄完了工作任务,就想着自己搭一个ssh的框架。本来想

2016-07-19 10:56:42 5921

转载 mysql解压版配置

1 修改配置环境,在环境变量的 系统环境变量里的path添加Mysql存放的地址2 修改mysql.ini文件将下面两个地址改为自己的地址#basedir =  #datadir = basedir = D:\工具包\mysql-5.6.21-winx64datadir = D:\工具包\mysql-5.6.21-winx64\data3 cmd进入

2016-07-18 15:13:40 254

原创 问题集合

jdk和eclipse位数不匹配导致,用cmd打开命令控制行,输出java -version 出现位数为64,没出现即为32位

2016-07-05 13:11:27 287

原创 oracle乱码

oracle用plsql保存数据乱码,用修改注册表的方式失败了,结果还是在环境变量里设置了一个系统变量

2016-06-24 14:48:29 414

原创 oracle乱码解决

oracle用plsql保存数据乱码,用修改注册表的方式失败了,结果还是在环境变量里设置了一个系统变量

2016-06-24 14:39:23 309

原创 eclipse控制台中文乱码

控制台必须gbk编码

2016-06-20 17:52:00 639

基于html5websocket java实现简单通讯(带前端页面)

基于html5websocket java实现简单通讯 index.jsp在输入框输入1234id5发送就可以发送给index1.jsp index1.jsp在输入框输入12332234id4发送就可以发送给index.jsp id前的消息随意,后面跟着要发送目标的id即可

2019-03-11

oracle驱动11 instantclient-odbc

Oracle 11g InstantClient,instantclient-odbc-windows.x64-11.2.0.3.0。oracle驱动11

2017-04-20

基于html5websocket java实现简单通讯

基于html5websocket+java实现简单通讯

2016-07-21

spring3+hibernate4+struts2 ssh

spring3+hibernate4+struts2简单的搭了一个项目eclipse项目 可以直接导入

2016-07-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除