摘要: https使用了很多年,而且人们对安全的渴望让https更加的普及,个人觉得https主要解决了2个主要的安全问题。 1. 通过数字证书保证通信数据发给正确的接收方。 2. 通过对称加密来保障通信过程中,数据不被窃听。 其实没有数字证书也是可以完成通信的,只是浏览器会提醒本次通信是不安全的,虽然通信 阅读全文
posted @ 2020-05-07 22:14 joenali 阅读(3151) 评论(0) 推荐(0) 编辑
摘要: 经常定位线程对cpu的耗时情况,每次重复去输入命令很不方便,特别写了一个脚本用于快速打印jvm的线程耗时情况 #!/bin/bash if [ $# -eq 0 ];then echo "please enter java pid" exit -1 fi pid=$1 jstack_cmd="" i 阅读全文
posted @ 2020-05-06 06:58 joenali 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 最近项目组寻思做一个类似Stack Overflow问答系统,技术选型springboot+vue,要求前后的分离(虽然知道大致原理,但从没有自己亲自设计过,真要去动手还是有些为难),那先去调研一下吧。 1. 基于nodejs部署的前后的分离架构 由于nodejs其实就是后端化的JavaScript 阅读全文
posted @ 2020-05-05 20:55 joenali 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 工欲善其事必先利其器,Java开发离不了的工具Eclipse、IntelliJ IDEA,但是两个工具使用者的代码格式时常不一致,为此导致项目代码格式混乱、版本控制冲突也是常有的事,给项目管理带来极大的不方便。一般情况下除非项目组有共同指定的代码格式,大多情况都遵循google codeStyle( 阅读全文
posted @ 2018-02-25 20:51 joenali 阅读(1445) 评论(0) 推荐(0) 编辑
摘要: 事务,在计算机术语中是一般指访问并可能更新数据库中各种数据项的一个程序执行单元。特别是在并发系统中,同一事务单元可能同时在执行去操作同一段数据,就好比多个人去洗一批盘子,如果没有很好的隔离,就会造成很多数据问题。那我们看一下都有哪些数据问题呢? (一) 脏读:A事务对数据进行修改但还没有提交,B事务 阅读全文
posted @ 2017-06-11 16:40 joenali 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 最近一直在总结多线程相关的知识点,为了解决多线程下安全性的问题,java提供了各种手段 1.锁功能,synchronized以及各种Lock,还有volatile、final关键字 2.支持并发的容器,如CurrentHashMap、BlockingQueue 3.用于同步的工具,如基于AQS实现的 阅读全文
posted @ 2017-05-13 07:00 joenali 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 1. 抽象队列同步器(AbstractQueuedSynchronizer,简称AQS),其是一个锁实现框架。ReentrantLock、CountDownLatch、Semaphore、CyclicBarrier都是基于AQS实现的,当然你也可以自己来实现。每一个实现的工具类内部都有一个继承Abs 阅读全文
posted @ 2017-05-12 22:59 joenali 阅读(130) 评论(0) 推荐(0) 编辑
摘要: HashMap的数据结构是数组+单向链表,数组里面存储就是链表的Head节点,链表节点存储的是我们put进去的key/value。 如果要实现HashMap,主要有三个重要的功能点: 1.初始化,也就是HashMap的构造方法 在初始化的时候要给数组的大小一个默认值,也就是常说的桶数量,当然这个值是 阅读全文
posted @ 2017-05-12 16:43 joenali 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 1. 阻塞队列首先它是一个队列,是队列就会遵循先进先出(FIFO)的原则,又因为它是阻塞的,故与普通的队列有两点区别: A. 当一个线程向队列里面添加数据时,如果队列是满的,那么将阻塞该线程,暂停添加数据。 B. 当一个线程从队列里面取出数据时,如果队列是空的,那么将阻塞该线程,暂停取出数据。 2. 阅读全文
posted @ 2017-04-25 10:53 joenali 阅读(4384) 评论(0) 推荐(0) 编辑
摘要: 最近公司准备重构内部服务模块,准备使用dubbo,故研究一下。 官方文档:http://alibaba.github.io/dubbo-doc-static/Home-zh.htm 1. 用maven创建一个项目(父模块),将src目录删除: mvn archetype:generate -Dgro 阅读全文
posted @ 2016-11-13 11:34 joenali 阅读(280) 评论(0) 推荐(0) 编辑