菜鸟升职记的专栏

每天进步一小点

mybatis分页插件实现分页

1.了解过程:在数据库服务器中,sql语句实现分页便要每个查询语句都要写上limit(开始,结束),并且不能灵活的随前端变化,为此使用拦截器的方法,过程:拦截器拦截请求的sql语句(根据需要拦截的ID(正则匹配),进行拦截),并对根据前端传过来的页数,和每页的条数,计算出limit(开始,结束),...

2018-06-22 09:06:53

阅读数 7292

评论数 0

理解java中的线程池

1.引入线程池的原因 对于多线程编程,处理每个请求都要创建一个线程,这不仅要花费时间在创建线程的过程中,还会出现创建线程过多未释放导致的系统内存不足,内存溢出问题,因此引入线程池的概念。线程池,就是在一个容器中创建适量的线程,在程序访问的时候直接调用该线程即可访问。2.类比数据库连接池。 数据...

2017-04-21 14:49:54

阅读数 1386

评论数 1

阿里云平台ubuntu14.04下配置jdk+tomcat+mysql

用了一下午的时间,在阿里云上配置了java web后台开发平台。 下面是具体的过程: (1)首先,在阿里云官网上买esc服务器,我买的是学生版每月10元的。 (2)下载xshell,远程终端模拟器,主要用于在windows下操作云服务器 (3)下载xftp,主要实现本地平台与远程ubunt...

2016-11-14 19:01:25

阅读数 1782

评论数 1

Mysql索引

Mysql有不同的存储引擎,其中,innoDB存储引擎使用B+树存储 B+树是一颗多叉树。特点: 【1】利用磁盘局部预读:每次读入磁盘一页数据,其中一页包含数据及其周围的数据。 B+树利用这一特点实现每一块对应磁盘的一页。即访问B+树一层对应一次IO。 【2】非叶子节点不存储数据,只存储指向叶子节...

2019-05-25 22:47:05

阅读数 13

评论数 0

mysql 语句执行顺序

一、mysql语句执行时会有几部分会参与: 1、连接器 2、查询缓存 3、分析器 4、优化器 5、执行器 二、各部分作用: 1、连接器:建立连接和客户端,并管理连接 2、查询缓存:key value存储,已经查询过的sql语句会保存。(缓存重新加载,耗时) 参考文章:https://segment...

2019-05-12 12:25:13

阅读数 15

评论数 0

mysql filesort学习

一、filesort 不用索引,mysql进行其它内存中或磁盘上的排序。带来问题:多次filesort排序会影响性能。 二、哪种情况引起filesort? 1.order by 的key不是索引的语句 2.order by 的key是索引但是mysql选择的是其它索引 3.group by 例...

2019-03-21 23:33:47

阅读数 36

评论数 0

GC学习

1.如何查看GC日志 2.GC日志分析 3.触发FullGC MinorGC原因 待加

2018-11-25 22:20:17

阅读数 41

评论数 0

这是一条记录

上班对一些环境的熟悉记录(只记录一些比较特殊的): 1.maven安装时替换成公司的setting.xml文件,maven命令深入练习 2.mysql的客户端Selquel pro 3.cat的本地配置 4.仓库几条命令的熟悉 5.缓存框架squrrel 6.km熟悉 7.octo...

2018-06-19 18:46:25

阅读数 81

评论数 0

https传输的理解

1.对称加密(单密钥) 对称加密就是通信双方在通信的过程中用同一秘钥进行加解密。 2.非对称加密(密钥对) 非对称加密就是A->B通信的过程中,A用私钥对数据进行加密,B获得加密后的数据后用公钥进行解密。 在这之前A先给B传输了私钥对应的公钥。 3.非对称加密带来的...

2018-03-15 10:27:04

阅读数 158

评论数 0

关于java8新特性的一些总结

以前找工作时,看了java8新特性,不能深入理解,感觉只是看了个皮毛,今天再看了一遍,多了些新的理解: 1.Lambda表达式 优化的问题: 主要在减少代码编写方面进行了优化,主要减少了什么代码的编写,看例说明? java7与java8的对比 package test; @Funct...

2018-03-12 16:00:49

阅读数 292

评论数 0

mysql数据库插入时更改数据

1.ignore字段 解释:mysql插入数据时遇到具有相同主键或者相同唯一索引的字段就忽略插入。 用法 : insert ignore into user valus(); 2.replace字段 解释:replace字段是遇到主键或者唯一索引相同的数据就删除,然后插入要插入的...

2018-01-07 20:58:18

阅读数 339

评论数 0

java中单链表的操作

1. 1.1 问题描述: 单链表删除链表中的一个已知节点,要求:时间复杂度O(1) 1.2 解决描述: 假如删除的节点为del,其下一个节点为del.next 将del.next的值给del,删除del 1.3 需要考虑: <1>当链表的长度为1时,返回null; &l...

2017-09-03 20:38:58

阅读数 474

评论数 0

工厂设计模式及理解

1.简单工厂设计模式 一个静态工厂类,根据传入的product的名称不同,返回不同的product,一个工厂可以生产多种类型的产品。 public interface Product { public void create();} public class ProductA imple...

2017-08-19 14:14:23

阅读数 277

评论数 0

筛选法求素数

package 素数总结;import java.util.Arrays;/** * @author wangpei * @version 创建时间:2017年8月15日 下午9:16:18 * 求1-n间的素数个数 * 素数:只有1和他本身两个因子的数字 * 不包含1 * ...

2017-08-15 22:43:42

阅读数 187

评论数 0

tcp粘包,断包问题及处理

做过一个五子棋大作战游戏,当时用socket长连接在人人联网对战时进行处理,但在游戏过程中总会出现两个下棋的人接收不到对方棋子的落点的信息,这就是典型的出现了tcp粘包问题。 下来进行具体说明。 1.理解Nagle算法 当发送方每次发送的数据包都比较小时,而这种小的数据包又比较多时,就会导致...

2017-08-13 23:53:31

阅读数 1040

评论数 0

理解B树,B+树

1.B树 一种多叉平衡搜索树,左子树关键字的值大于右子树关键字的值,非叶子存储数据(或指向数据的指针) m阶B树主要满足: <1>树中每个节点至多含有m个孩子 <2>除根节点,叶子节点,其余节点至少有【m/2】(向上取整)个孩子。 <3>根不是叶子节点...

2017-07-31 09:36:46

阅读数 279

评论数 0

jvm中锁的优化

除了上一篇提到通过锁膨胀来对锁机制进行优化外,还存在: 1.自旋锁(轻量级锁中用到了) 线程未获得资源时,不直接阻塞,而是通过执行一段空循环,来等待锁释放,然后获取锁,若执行了指定的循环次数后,线程还是没有获得锁资源,会被挂起。这种适用于不是很多线程,每个线程的执行时间很短。 2.自适应自旋锁 ...

2017-07-22 09:43:03

阅读数 186

评论数 0

java synchronized锁的理解

mark word:存储对象的hashcode或锁记录的信息, 对象头包括:锁状态,是否是偏向锁,锁标志位 1.锁状态分类:无锁状态,偏向锁状态,轻量级锁状态,重量级锁状态。 <1>偏向锁:为了解决,在获得锁时,存在同一个对象,对锁的多次获取,释放,避免CAS操作而做的优化。 ...

2017-07-22 08:56:52

阅读数 234

评论数 0

java BIO,NIO在单服务器,多客户端通信上的应用

1.BIO,即传统的阻塞式io方式 下面是具体的例子: server:package 多线程实现socket阻塞式通信;import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOExcep...

2017-07-19 10:22:28

阅读数 206

评论数 0

理解spring任务调度timer,Quartz,spring task

1.timer 指调用java.util.timer类来调用一个java.util.TimerTask的任务来实现每隔多长时间运行一次。 注意:timer不能实现在指定时间来运行。例如明天的2:00运行任务,不能实现。 spring-context中集成了timer调用所需的类,所以只需要拿...

2017-07-17 16:14:31

阅读数 283

评论数 0

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