Java线程状态分析

Java线程的生命周期中,存在几种状态。在Thread类里有一个枚举类型State,定义了线程的几种状态,分别有: NEW: 线程创建之后,但是还没有启动(not yet started)。这时候它的状态就是NEWRUNNABLE: 正在Java虚拟机下跑任务的线程的状态。在RUNNABLE...

2017-12-13 17:42:43

阅读数 96

评论数 0

springmvc 处理流程图

最近发现了一个不错的画图软件,叫做 Processon , Web端工具,可直接上网使用。 不过免费版图片数量只有9张;收费版 159/年,图片数量不限。 体验还不错,于是画了张SpringMVC的总体处理流程图。 以后每篇博客内容尽量也画图来说明,有了图片的话读者就不用面对枯燥的文...

2017-12-13 16:30:03

阅读数 79

评论数 0

java 内存分配与回收

1、如何判断对象可回收 1)引用计数算法:给对象添加一个引用计数器,每当一个地方引用,计数器值加一;当引用失效时,计数器值就减一。 实现简单,判定效率高,但无法解决对象之间循环引用的问题。所以主流的java虚拟机没用选用该算法来管理内存。 2)可达性分析算法:通过一系列的被称为“GC Roo...

2017-12-12 18:00:34

阅读数 111

评论数 0

RateLimiter限流

常用的限流算法有2种:漏桶算法和令牌桶算法。 漏桶算法     漏桶算法:请求先进入“桶”中,然后桶以一定的速率处理请求。如果请求的速率过快会导致桶溢出。根据描述可以知道,漏桶算法会强制限制请求处理的速度。任你请求的再快还是再慢,我都是以这种速率来处理。     但是对于很多情况下,除了要求能够...

2017-12-11 17:17:59

阅读数 181

评论数 0

类加载机制

1、虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制; 2、与那些在编译器需要进行连接工作的语言不同,在java语言里,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然会令类...

2017-12-11 11:05:13

阅读数 54

评论数 0

mysql 远程访问

linux下允许外部ip访问你到mysql数据库   1:设置mysql 的配置文件      /etc/mysql/my.cnf      找到 bind-address  =127.0.0.1  将其注释掉;//作用是使得不再只允许本地访问; 重启mysql:/e...

2017-12-08 14:53:32

阅读数 49

评论数 0

mysql windows环境安装使用

mysql-5.5.29-winx64.zip (root's password : mysql) 1.extract to a directory,like E:\mysql-5.5.29-winx64 2.there are many files like ...

2017-12-08 14:51:17

阅读数 43

评论数 0

mysql 递归查询

相关函数 String Operators FIND_IN_SET() Return the index position of the first argument within the second argument CONCAT() ...

2017-12-08 14:48:45

阅读数 80

评论数 0

timestamp与datetime使用

UTC一般指协调世界时 协调世界时(英:Coordinated Universal Time ,法:Temps Universel Coordonné),又称世界统一时间,世界标准时间,国际协调时间。英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。 这套...

2017-12-08 14:34:27

阅读数 359

评论数 0

https 流程

概念: 数字证书:CA用自己的私钥加密“主体”的公钥及相关信息 流程: 1、浏览器发出https请求,及加密通信请求; 2、服务端用自己的私钥加密网页,并附上数字证书; 3、浏览器用CA的公钥(浏览器中可查看)解密数字证书,即可确认服务端身份,并得到服务端的公钥; 之后与服务器...

2017-12-08 10:41:47

阅读数 103

评论数 0

volatile、synchronized与锁

1、volatile保证共享变量的可见性,比Synchronized的使用和执行成本更低,因为它不会引起线程上下文的切换和调度; 2、一个字段被声明城volatile类型,java的线程内存模型确保所有线程看到这个变量的值是一致的; 3、java中的每一个对象都可以作为锁,任何对象都有一个mo...

2017-12-07 17:52:21

阅读数 45

评论数 0

HashMap与ConcurrentHashMap

1、HashMap 底层采用数组实现,每个元素是一个链表结构(用来处理hash冲突); 2、在多线程环境下,HashMap的put操作会引起死循环,因为put操作可能导致扩容resize,扩容时在将老数据迁往新数组时,entry的next节点可能会因为多线程操作导致永不为空,就会产生死循环,导致c...

2017-12-07 17:43:13

阅读数 54

评论数 0

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