- 博客(8)
- 收藏
- 关注
原创 Java解析线程池
什么是线程池线程池就是装有线程的池子,把要执行的线程交给线程池来处理,通过维护一定数量的线程池来达到多个线程的复用。线程池的好处如果不用线程池,每个线程都要通过new Thread(xxRunnable).start()的方法来创建并运行一个线程。每次创建一个和销毁一个线程都是要消耗系统资源的。当线程数达到一定数量就会耗尽系统的CPU和内存资源,也会造成GC频繁收集和停顿。而线程复用节省了很大的一部分系统资源,当线程一段时间不再有任务时自动销毁,不会常驻内存。线程池核心类public Thread
2020-06-11 01:37:15
165
原创 Java的发展:从Java0到Java14的新特性
Java01996 年 1 月Sun公司发布第一个正式的Java版本,JDK1.0Java11997 年 2 月Sun 公司发布 JDK1.1重新编写了用于桌面软件开发的 AWT 库(因为上个版本的 AWT 是 Java 最弱的组件,之前的库对于不同操作系统的界面抽象太简单,各个平台并不能兼容,这也不符合 Java 承诺的 “write once,run anywhere”)加入了内部类支持 JavaBeans ,使得 Java 对象可以被序列化成二进制JDBC,让 Java 可以连数据库.
2020-06-10 00:01:57
606
原创 十种分布式ID生成方法
什么是分布式ID以MySQL为例,数据量不大的时候,单库单表可以支撑现有业务,再大一点主从同步读写分离也可以。但数据是不断增加的,当主从同步也不行了,就需要分库分表了。分库分表需要一个全局唯一ID做标识,这就是分布式ID。一个能生成分布式ID的系统是十分有必要的。分布式ID特点全局唯一:基本要求高性能:高可用低延时,ID生成相应快,否则成为业务瓶颈;高可用:不能有单点故障好接入:在系统设计和实现上尽可能地简单;趋势递增:在MySQL InnoDB引擎中使用的是聚集索引,由于多数RDBM
2020-06-05 23:36:41
1062
原创 MySql引起的CPU消耗你懂吗
谁消耗CPU用户、系统、IO等待、软硬中断、空闲。其中系统和软硬中断是比较难改变的,另外用户和IO等待消耗了大部分CPU用户消耗和IO等待用户空间CPU消耗,各种逻辑运算:函数排序类型转换逻辑IO访问以及等待IO请求完成…IO等待其实是等待IO请求的完成,这个时候CPU是空闲的影响吞吐量下降查询响应时间增加慢查询数增加对MySQL的并发增加,也会产生这些影响吞吐量QPS:Queries Per Second的缩写,意思是每秒查询率。一台服务器每秒相应的查询次数。
2020-05-28 13:49:42
505
原创 Java文件的运行
class文件一个Java文件通过编译工具javac编译成class字节码文件,通过JVM进行加载运行。因为JVM屏蔽底层操作系统的差异,所以一次编译到处运行。JVM内存结构JVM分为外部和内部,内部就是数据区,其他部分就是外部,包括类加载系统、垃圾回收器、执行引擎、本地库接口、本地方法库。类加载子系统双亲委派方式自底向上检查是否加载成功,自顶向下尝试加载类加载的三种方式以下示范代码中,A是类,a1、a2、a3是A实例化的对象A a1=new A();静态加载,通过new关键字实例化对
2020-05-17 14:11:55
314
原创 编译器的发展史
编译器的工作就是将用代码编写的源程序翻译为计算机可以执行的目标程序,例如.c编译后生成.exe前面会涉及一些老基础,可以直接看第四标题的内容机器语言计算机刚发明的时候人们通过各种开关和电缆来编写程序。这时候的程序是真正的二进制,例如000110101011。后来做出了改进,把程序打在穿孔带上,让机器读取。但本质还是没有改变,还是在使用二进制编程。下面举一个例子:0001表示加1010表...
2020-05-04 16:09:01
3367
原创 该怎么选择编程语言
该怎么选择编程语言一、 根据目的学习编程语言做苹果手机的应用软件,选择Swift做安卓的应用软件,选择Java做游戏软件,例如家庭用游戏机PlayStation4和Wii U上的游戏软件,选择C#互联网服务和网页设计,选择JavaScript、HTML、CSS5. 做统计分析和大数据分析,选择R和python二、 编程语言的人气排行榜(一)TIBOE是在对Google、yahoo...
2020-03-30 00:37:08
1212
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人