- 博客(25)
- 资源 (5)
- 收藏
- 关注
原创 TCP三次握手和四次挥手
TCP的FLAG位由6个bit组成, 分别代表SYN、ACK、FIN、URG、PSH、RST, 都以置1表示有效. 我们重点关注SYN、ACK、FIN.SYN(Synchronize Sequence Numbers)用于建立链接时的同步信号;ACK(Acknowledgement)用于对收到的数据进行确认, 所确认的数据由确认序列号表示;FIN(Finish)表示后面没有数据需要发送, 通...
2019-07-15 19:15:28
216
原创 openssh升级到7.9
先列举一下相关的软件opensshopensslzlibperlopenssh7.9依赖openssl1.1.1, openssl1.1.1依赖perl5.26(不太清楚具体依赖哪个版本, 反正不是5.16), zlib升级到最新的版本(目前是2.1.11)即可首先我们来看下本地服务器这几个软件的版本, 我的是:$ perl -vThis is perl 5, versi...
2019-04-17 16:41:54
2036
原创 shiro web应用入口之EnvironmentLoaderListener类
EnvironmentLoaderListener 是shiro web应用的入口, 它是一个 ServletContext 的监听器, 用于监听容器的启动和关闭事件, 分别对应它的两个方法, contextInitialized(ServletContextEvent sce) 和contextDestroyed(ServletContextEvent sce), 可以从 ServletCont...
2018-09-10 01:49:41
1792
原创 java大数值计算
在计算两个日期相差多少的年的时候,我的思路是先拿到两个时间的时间戳,得出差值,再除以一年的毫秒数,结果保留一位小数,这样就可以得到两个日期的年数差值,但是从有这个思路开始我便开始了填坑之路. 遇到的第一个坑, 先把我一开始写的代码亮出来Date date1 = DateUtils.format(LocalDateTime.now());Date date2 = DateUtils.fo...
2018-08-26 20:40:21
800
原创 js集合的三种遍历方式
"user strict";window.onload = function() { var ary = ['a', 'b', 'c']; // for...in console.log("for...in"); for (var i in ary) { console.log(ary[i]); } // for...of ...
2018-08-26 00:33:26
24952
原创 记一个知识点-- arguments
js中的函数有一个重要的对象, arguments. arguments这个对象可以用来获取函数在调用时候的传入的实参的.通过arguments.length可以知道函数此次被调用传入了一个参数, 通过arguments[n]可以拿到函数第(n+1)个参数的值, 请见事例: // 创建一个函数var Add = function () { var zero = functio...
2018-08-25 00:03:39
189
原创 记hibernate的一次报错 Cannot create TypedQuery for query with more than one return using requested result
hql在做集联查询的时候通常会遇到根据两个Bean的字段生成一个新的Bean, 但是在使用中却发现这种方式存在一定的问题,导致出现了如下的BUG:org.springframework.dao.InvalidDataAccessApiUsageException: Cannot create TypedQuery for query with more than one return usi...
2018-08-19 17:47:01
5002
原创 SpringData参数为空怎么办?
@Repositorypublic class StudyUserDaoImpl { @PersistenceContext private EntityManager em; public List get(String nickName, String courseName) { StringBuffer hql = new StringBuff...
2018-08-17 23:55:20
1053
原创 ajax分页插件
创建/** * { * "curpage": 1, * "pagesize": 10, * "total": 100, * } */(function(a){ $.fn.extend({ pageable: function(options, fn) { if (fn == undefined ||...
2018-08-17 22:25:02
826
原创 JS实现简单的类Set的数据结构
创建// 数据内部的对象必须包含属性idvar Set = function () { // 以this.开头的都是对象公有的属性或函数 this.items = new Array(); // 内部实际是一个Array this.size = 0; // Array的大小 // 添加元素,若id已存在,则跳过 this.add = function ...
2018-08-17 22:09:29
1325
原创 Java Reader/Writer
Java Stream相关类是用来处理字节流的,但不适合用来字符流.因为一个字节是8bit,而一个字符是16bit.字符串是由字符组成,字符串类型天然处理的是字符而不是字节.更重要的是,字节流无法知道字符集及其字符编码.Java中可以用Reader/Writer相关类来处理字符.常用的Reader/Writer BufferedReader/BufferedWriter示例...
2018-06-10 09:27:33
11810
原创 Java Stream
常用字节输入输出流服务器文件I/O实例public static void main(String[] args) { // 源文件 File sourceDile = new File("/Users/ningdd/Downloads/DDL.sql"); // 目标文件 File targetFile = ne
2018-06-09 21:00:09
166
原创 mysql踩坑实战
1.报错信息: 1.解决方案:删除下列选项 2.报错信息: 2.解决方案: 3.报错信息: mysql设置了默认值没起作用, not null的时候报cannot null3.解决方案: explicit_defaults_for_timestamp = false;总结: 1. 查看mysql全部配置: show global variables; 2. read_only 为
2017-12-21 00:42:20
380
原创 mysql存储过程
– 先指定数据库 use ndd; – mysql默认的结束符号是; 这里给它设置成存储过程创建完了记得还原回去DELIMITER 存储过程创建完了记得还原回去DELIMITER – 创建存储过程 定义入参和出参 – in | out | inout create PROCEDURE procedure_test (in company_id int, out total_count
2017-12-16 21:40:51
188
原创 正则表达式
\ 转义符。 . 用来匹配一个任意的字符。 [ ] 匹配多个字符中的某一个。 - 连字符。例如:[0123456789]可以写成[0-9]。 ^ 取非。只有放在[]中,并且位于紧跟在[的后面才是取非的意义。 空白原字符: [\b] 回退(并删除)一个字符(Backspace键) \f 换页符 \n 换行符 \r 回车符
2017-12-16 21:39:55
263
原创 junit并发访问数据库引发的问题
单元测试的代码是这样的,多线程访问数据库public class B2BProductWriteManageImpl2Test extends BaseTest implements Runnable{ @Resource(name="b2BProductWriteManage2") private B2BProductWriteManage2 b2BProductWriteManag
2017-12-07 00:39:20
639
原创 InnoDB的MVCC
MVCC(Multi-Version Concurrent Control)通过在每一行后面保存两个隐藏的列来实现的。这两个列,一个保存了行的建时间,一个保存了行的结束时间。当然存储的并不是实际的时间值,而是系统版本号。每开启一个新的事务,系统版本号都会自动递增。事务开启时刻的系统版本号会作为事务版本号,用来和查询到的每行记录的版本号进行比较。需要注意的是,MVCC只在RR和RC两个隔离级别下工作。
2017-12-06 01:32:20
396
原创 mysql读写锁及事务
读写锁 同一用户并发读取同一条数据,不会出现什么问题,因为读取不会修改数据,但是如果某个用户正在读取某张表,而同一时刻另一用户正在修改这张表的id为1的数据,会产生什么后果? 答案是不确定的,读的用户可能会报错退出,也可能读到不一致的数据。 解决这类经典问题的就是并发控制。在处理并发读写的时候,可以通过实现一个由两种类型的锁组成锁系统来解决问题。这两种锁就是读锁(共享锁)和写锁(
2017-12-06 00:22:05
25285
6
原创 观察者模式
观察者模式是jdk中使用的最多的一种设计模式,它可以通知给对象想知道的一切,甚至可以在对象运行时决定是否继续被通知。 观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新,观察者模式可以使你的程序松耦合。出版者+订阅者=观察者模式更详细的博客说明请点击:这里下面的类图便是一个最简单的观察者模式,由主题接口、主题、观察者接口、观察者四部分组成。1
2017-10-15 20:10:48
231
原创 了解ActiveMQ
消息系统消息经常被用在应用间的通信,或者业务中的异步处理。消息被保存在队列中,直到被接收者取出。由于消息的发送者不需要同步等待消息接受者的响应,消息的异步接收降低了系统集成的耦合性,提升了系统之间的协作效率,使得系统能够更快的响应用户,提供更高的吞吐。当系统处于峰值压力时,分布式消息队列还能够作为缓存,削峰填谷,缓解集群的压力,避免整个系统被压垮。开源的消息系统主要有ActiveMQ、Kafka、R
2017-05-25 18:36:19
341
原创 详解值传递和引用传递
在讲值传递和引用传递之前,我们应该先了解一下什么是值类型和引用类型。什么是值类型? 值类型:也就是基本数据类型,基本数据类型常被称为四类八种。 四类:1-整型;2-浮点型;3-字符型;4-逻辑型 八种: 1:整型3种 byte,short,int,long 2:浮点型2种 float,double 3:字符型1种 char 4:逻辑型1种 boolean什么是引用类型? 引用类型:除
2017-03-14 20:55:05
590
1
原创 HTTPS小记
我们发现,现在很多的大型网站请求链接都是HTTPS的,比如说我们熟悉的天猫,京东,百度等等。那么它们为什么要使用HTTPS来请求自己的网站呢,想必大家都知道是因为HTTPS是安全的,而HTTP却不安全,所以它们都会用HTTPS来作为自己网站的请求头。今天,我们便来讲讲这HTTPS。数据的安全性加密算法:对称加密算法、非对称加密算法、HASH算法等对称加密算法: Server和Cl
2017-02-28 16:24:09
317
原创 说说二进制
身为计算机从业人员,一直对于二进制不甚了解,为此感到羞愧,今天特地花点时间研究研究二进制。因为暂时没有接触过其他进制的需求,所以此篇博客只会提及二进制和十进制。1. 十进制转二进制1.1 正整数 十进制转二进制,需要将值除以2取余,直到最后得到的数是1,如图: 十进制20在经过运算后得到最右边的数:10100(注意箭头的方向是从下往上),所以20转换成二进制后就是10100了。1.2 负整
2016-08-22 17:55:56
1958
原创 事务小述
做了挺长时间的开发了,以前公司关于事务这块都有专门的架构师去搭建管理,所以很少会注意事务这块的东西,一直以为事务就那么回事,但是真当自己遇上时,才发现里面要掌握的东西还真不少。闲话少扯直奔主题吧!本章的系统架构:Spring JdbcTemplate + MYSQL1.什么是事务?这个网上有很多的博客供大家去了解什么是事务,大家自己去找找吧。 推荐一个讲的比较详细的地址: http://wenk
2016-02-24 14:41:26
281
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人