-
硬核干货:4W字从源码上分析JUC线程池ThreadPoolExecutor的实现
所属栏目:[Java] 日期:2020-12-15 热度:118
前提 很早之前就打算看一次JUC线程池 ThreadPoolExecutor 的源码实现,由于近段时间比较忙,一直没有时间整理出源码分析的文章。之前在分析扩展线程池实现可回调的 Future 时候曾经提到并发大师 Doug Lea 在设计线程池 ThreadPoolExecutor 的提交任务的顶层[详细]
-
Java并发编程-扩展可回调的Future
所属栏目:[Java] 日期:2020-12-15 热度:136
前提 最近在看JUC线程池 java.util.concurrent.ThreadPoolExecutor 的源码实现,其中了解到 java.util.concurrent.Future 的实现原理。从目前 java.util.concurrent.Future 的实现来看,虽然实现了异步提交任务,但是任务结果的获取过程需要主动调用 Future#[详细]
-
基于Quartz编写一个可复用的分布式调度任务管理WebUI组件
所属栏目:[Java] 日期:2020-12-15 热度:151
前提 创业小团队,无论选择任何方案,都优先考虑节省成本。关于分布式定时调度框架,成熟的候选方案有 XXL-JOB 、 Easy Scheduler 、 Light Task Scheduler 和 Elastic Job 等等,其实这些之前都在生产环境使用过。但是想要搭建高可用的分布式调度平台,这些[详细]
-
聊聊Java内省Introspector
所属栏目:[Java] 日期:2020-12-15 热度:161
前提 这篇文章主要分析一下 Introspector (内省,应该读xing第三声, 没有找到很好的翻译,下文暂且这样称呼 )的用法。 Introspector 是一个专门处理 JavaBean 的工具类,用来获取 JavaBean 里描述符号,常用的 JavaBean 的描述符号相关类有 BeanInfo 、 P[详细]
-
项目架构级别规约框架Archunit调研
所属栏目:[Java] 日期:2020-12-15 热度:68
背景 最近在做一个新项目的时候引入了一个架构方面的需求,就是需要检查项目的编码规范、模块分类规范、类依赖规范等,刚好接触到,正好做个调研。 很多时候,我们会制定项目的规范,例如: 硬性规定项目包结构中service层不能引用controller层的类(这个例子[详细]
-
阿里出品Excel工具EasyExcel使用小结
所属栏目:[Java] 日期:2020-12-15 热度:72
前提 笔者做小数据和 零号提数工具人 已经有一段时间,服务的对象是运营和商务的大佬,一般要求导出的数据是 Excel 文件,考虑到初创团队机器资源十分有限的前提下,选用了阿里出品的 Excel 工具 EasyExcel 。这里简单分享一下 EasyExcel 的使用心得。 EasyE[详细]
-
Levenshtein Distance(编辑距离)算法与使用场景
所属栏目:[Java] 日期:2020-12-15 热度:100
前提 已经很久没深入研究过算法相关的东西,毕竟日常少用,就算死记硬背也是没有实施场景导致容易淡忘。最近在做一个脱敏数据和明文数据匹配的需求的时候,用到了一个算法叫 Levenshtein Distance Algorithm ,本文对此算法原理做简单的分析,并且用此算法解[详细]
-
Java 稽核框架练习
所属栏目:[Java] 日期:2020-12-15 热度:127
|--需求说明 |--实现思路 如需求所说方式实现 ? |--代码内容 1 public class Test { 2 static Scanner input = new Scanner(System.in); 3 public static void main(String[] args) { 4 Student stu1 = new Student("张三丰","男",7 ); 5 Student stu2 = new[详细]
-
Java 内存输出流、对象操作流、随机访问流、打印流、标准输入输
所属栏目:[Java] 日期:2020-12-15 热度:60
内存输出流 1、名字是输出流,体系也是在IO的体系中,但是其实没有内存和其他设备的交互,仅仅是在内存中做了拷贝。所以没有真正的IO。 2、类名:ByteArrayOutputStream 3、作用:当 读取的字节信息不完整 时,需要一个容器缓存不完整信息,这个类型就可以充[详细]
-
JavaSE(二)-标识符,关键字,数据类型
所属栏目:[Java] 日期:2020-12-15 热度:139
? 一、标识符和关键字 ? ??? ? 1、具有特殊作用的分隔符:分号;、花括号{}、圆括号()、空格、圆点 .? ?? ?? ? 2、标识符规则:用于给程序中变量、类、方法命名的符号。 ?? ??? ??? ??? ??? ??? ??? ?? ? Java的标识符必须以字母、下划线_、美元符$开头,后面[详细]
-
2019年杭电多校第二场 1012题Longest Subarray(HDU6602+线段树)
所属栏目:[Java] 日期:2020-12-15 热度:185
题目链接 传送门 题意 要你找一个最长的区间使得区间内每一个数出现次数都大于等于 (K) 。 思路 我们通过固定右端点考虑每个左端点的情况。 首先对于每个位置,我们用线段树来维护它作为 (C) 种元素的左端点的可行性。 对于每个元素我们用 (vector) 存[详细]
-
vdi文件扩容
所属栏目:[Java] 日期:2020-12-15 热度:182
VBoxManage modifyhd vdi完整路径 --resize 调整后的大小 只是虚拟机增加了。 进行系统进行操作 sudo apt-get install gparted sudo gparted ? 格式化成ext4后 ? sudo mount /dev/sda3 /sda3 ? 自动挂载 vi /etc/fstab 添加: /dev/ sdb1 / sdb ext4 default[详细]
-
Java 课后练习二
所属栏目:[Java] 日期:2020-12-15 热度:140
|--需求说明: 编写Java程序,创建3个ArryList对象,每个对象中添加一些学生的姓名。再创建HashMap对象,以年级名称为对象,存放学员的ArrayList值。然后从HashMap对象中获取某个班级的全部学员信息并输出。 |--实现思路: 如需求所说方式 |--代码内容 1 pub[详细]
-
7.26
所属栏目:[Java] 日期:2020-12-15 热度:106
编程语言分类及其优缺点: 机器语言(低级语言) 可以直接和硬件交互 优点:执行效率高,可以直接用0和1 与计算机进行直接交流 缺点:开发效率低 汇编语言 直接和硬件交互 相对于机器语言: 优点:执行效率高 缺点:开发效率低 高级语言 编译型语言:C/JAVA/[详细]
-
Java基础(1)
所属栏目:[Java] 日期:2020-12-15 热度:169
一、基本数据类型的赋值 整数的赋值 注意1:Byte和short的赋值不能超过各自的取值范围。 注意2:取值类型默认为int。 注意3:为long类型赋值时,如果超过int的取值范围应该在后面加L。 Byte b =127; Short s =32767; int i =30000; long l1 =400000; long l2[详细]
-
ArrayList与LinkedList
所属栏目:[Java] 日期:2020-12-15 热度:92
ArrayList与Linkedlist的增删改查问题以及集合选择问题 线程:安全:Vector 不安全:ArrayList,LinkedList 增删多:LinkedList 查询多:ArrayList 1. ArrayList为什么查询快: 底层是数组,在内存中开辟空间,是连续的,查询时可以直接定位到查询的位置(根[详细]
-
697. 数组的度 - 应该还可以优化!!!!
所属栏目:[Java] 日期:2020-12-15 热度:167
? ? import java.util.Arrays ;class Solution { public int findShortestSubArray(int[] nums) { int size = nums.length; int max=-1; for(int i =0;isize ;i++){ if(nums[i]max){ max=nums[i]; } } int[][] mtx =new int[max+1][3]; for(int i=0;isize;i+[详细]
-
多线程(5) — JDK的并发容器
所属栏目:[Java] 日期:2020-12-15 热度:104
JDK提供了一些高效的并发容器,下面介绍几个 ConcurrentHashMap:这是个高效的并发HashMap,可以理解为一个线程安全的HashMap。 CopyOnWriteArrayList:这是一个List,从名字看就知道它和ArrayList是一族的,在读多写少的场合,这个List的性能非常好,远远优[详细]
-
JAVA自定义容器—自动扩容—查找—删除 代码实现
所属栏目:[Java] 日期:2020-12-15 热度:91
1 package cn.itsource._05IntArry; 2 3 import java.util.Arrays; 4 5 public class IntArry { // 容器类 6 Object[] date; // 定义Object的数组 7 int size; // size表示存值的个数 8 int capacity; // 容器的大小 9 IntArry(){ // 无参构造方法 默认这个[详细]
-
Java获取异常堆栈信息
所属栏目:[Java] 日期:2020-12-15 热度:146
/* * 只能获取单层异常信息 无法获取caused by * */ public String getExceptionStack(Throwable e){ StackTraceElement[] stackTraceElements = e.getStackTrace(); String prefix = "Exception in thread "+"""+Thread.currentThread().getName()+"" " ;[详细]
-
Java:单例模式探究
所属栏目:[Java] 日期:2020-12-15 热度:64
Java:单例模式探究 单例模式可以说只要是一个合格的开发都会写,但是如果要深究,小小的单例模式可以牵扯到很多东西,比如 多线程是否安全,是否懒加载,性能等等。还有你知道几种单例模式的写法呢?如何防止反射破坏单例模式?今天,我们来探究单例模式。[详细]
-
java.lang.ClassNotFoundException解决办法
所属栏目:[Java] 日期:2020-12-15 热度:63
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 是我们经常遇到的错误。 遇到这种问题时: 控制台会报错:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 同时,网页上不显示信息 解决方案: 1、看pom.xml文件中是否导入了 “mysql-co[详细]
-
Y服务-你真的懂 Yaml 吗?
所属栏目:[Java] 日期:2020-12-15 热度:157
在Java 的世界里,配置的事情都交给了 Properties,要追溯起来这个模块还是从古老的JDK1.0 就开始了的。 "天哪,这可是20年前的东西了,我居然还在用 Properties.." 然而,本文的主角并不是Properties,而是Yaml。这是新时代里微服务架构上的宠儿,和 Proper[详细]
-
单元测试
所属栏目:[Java] 日期:2020-12-15 热度:122
1、JUnit JUnit 是一个 Java 编程语言的单元测试框架。 (1)eclipse中:项目右键--properties--Java Build Path--......--JUnit--JUnit4 (2)eclipse中自动生成测试类 在项目中选中要测试的类,如:xxxServiceImpl.java,右键--new--JUnit--JUnit Test Cas[详细]
-
【异常】Phoenix异常:java.lang.ArithmeticException: Rounding
所属栏目:[Java] 日期:2020-12-15 热度:154
1 异常sql upsert into WMBIGDATA.ODS_ES_CHARGING_STATION(id,evcosType,address,serviceTel,supportOrder,operatorId,stationId,stationName,stationTel,stationLng,stationLat,stationStatus,countryCode,stationType,construction,equipmentOwnerId,open[详细]