- 博客(13)
- 收藏
- 关注
原创 TCP状态、三次握手、四次挥手
TCP状态首先我们要了解tcp的一些连接状态,才能更好了解tcp连接断开的原理。CLOSED这个没什么好说的了,表示初始状态。LISTEN这个也是非常容易理解的一个状态,表示服务器端的某个SOCKET处于监听状态,可以接受连接了。SYN_RCVD这个状态表示接受到了SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂,...
2018-11-28 12:11:08 231
转载 mybatis中大于等于小于等于的写法
第一种写法(1):原符号 < <= > >= & ' "替换符号 &lt; &lt;= &gt; &gt;= &amp; &apos; &quot;例如:sql如下:create_d...
2018-11-28 09:34:15 26671
转载 G1 收集器介绍
来源:https://blog.csdn.net/u013542440/article/details/79358071 G1收集器一. 名词解释MetaSpace 在Java8之后取代永久代方法区的内存部分,NativeMemoryMixed GC Event 所有Young Region和一部分Old Region的混合GC时间。...
2018-11-26 11:49:33 1861
原创 mysql 自动生产java 实体类脚本
mysql有表了,但是要建实体类,都是重复性工作,比较浪费时间,于是有了自动生成实体类的想法。如果用mybatis generator,会生成很多没必要的代码,而且很多,看起来更乱了,实际执行的sql,比普通的增删查改要复杂,生成的sql也其实没什么用,实体类还比较有用,于是只要生成实体类。本文参考改写:https://blog.csdn.net/zhum_sjz/article/details...
2018-11-22 15:26:46 990
原创 java代码优化笔记
本文列举java开发中代码优化的一些方法。尽量重用对象,不要循坏创建对象,比如:for循环字符串拼接在这篇文章里面介绍了为什么不能循环拼接字符串对象。容器类初始化的时候指定长度例如map和list,如果我们知道我们的数据量有多大,我们最好一开始的时候就指定长度,因为这些list和map在扩容的时候,会做一些例如数据复制的动作或者重新hash的复杂动作,影响效率。先说arraylist,它...
2018-11-22 10:35:49 245
原创 字符串常量
前面我们介绍过字符串拼接的时候效率比较低,建议使用Stringbuilder。那么有没有一种情况,字符串拼接的时候,不会降低效率呢,这里我们介绍字符串常量。先看一个demo:public class Constant { public static void f1() { final String x=&quot;hello&quot;; final String y=x+&quot;...
2018-11-20 22:43:53 3654
原创 try return finally字节码解析
我们经常会遇到一个问题,try 里面return了,finally还会执行吗?例如下面一个例子:public class TryFinally { public static void main(String[] args) { System.out.println(f1()); } public static String f1() { ...
2018-11-20 17:25:43 293
原创 从jvm字节码看String+字符串拼接为什么效率低
在我们的常识里面,用String的+符号的时候,效率会很低,建议使用String builder,那是为什么呢?这次我们通过一个小demo的jvm字节码来分析,首先是demo:public class TestStringAdd { public static void f1() { String src = &quot;&quot;; for(int i=0;i&amp;lt;10...
2018-11-19 19:11:36 380
原创 构建docker私有仓库
有了docker hub和阿里或者网易的镜像仓库等之后,为什么还有自己构建仓库呢?一是为了安全,二是为了内网访问,本文我们就介绍如何构建自己的docker仓库。环境准备环境:两个装有Docker 17.09.0-ce 的centos7虚拟机虚拟机一:192.168.0.175 用户开发机虚拟机二:192.168.0.174 用作私有仓库搭建私有仓库在174机器上面docker pul...
2018-11-19 16:19:08 308
原创 jvm字节码解析i++和++
i++和++i是编码中比较常用的代码,并且也是初学者容易混淆的。我们知道i++是先赋值再+自己,而++i是先+自己再赋值。为什么是这样呢?他们之间效率对比又是怎么样呢?本文我们从字节码层面来分析。前面的文章介绍过了jvm字节码的基本知识还有如何分析字节码,我们现在还是写个小demopublic class TestSelfAdd { public static void f1() {...
2018-11-19 10:27:39 308
原创 jvm字节码浅析
本文通过一个简单的例子,分析jvm字节码的一些基本的概念。例子:public static void main(String args) { int a=2; int b=3; int c = a + b; System.out.println(c); }将它编译为class文件,通过javap查看字节码并输出到Test.txt里面:javap -verbose Test...
2018-11-18 21:39:20 272
转载 Elasticsearch技术shard&replica机制
shard&amp;replica机制1.index包含多个shard2.每个shard都是一个最小工作单元,承载部分数据,lucene实例,完整的建立索引和处理请求的能力3.增减节点时,shard会自动在nodes中负载均衡4.primary shard和replica shard,每个document肯定只存在于某一个primary shard以及其对应的replica shard中,...
2018-11-16 10:48:06 451
原创 jvm层gc调优
jvm的内存结构运行时数据区运行时数据区有:方法区、虚拟机栈、本地方法栈、堆、程序计数器计数器pc register垃圾回收算法垃圾收集器可视化gc日志分析工具Tomcat的gc调优实战...
2018-11-07 15:20:52 1364
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人