
java基础
文章平均质量分 66
Java知识星球
所谓成功,就是在平凡中做出不平凡的坚持。
展开
-
Java8 Stream流式编程
Stream介绍(摘抄)Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。JDK8新特性。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流,流在管道中传输,并且可以在管道的节点上进行处理,比如筛选,排序,聚合等。Stream有以下特性及优点:无存储。Stream不是一种数据结构,它只是某种数据源的一个视图,数据源可以是一个数组,Java容器或I/O原创 2021-01-23 15:13:38 · 493 阅读 · 0 评论 -
基于Spring AOP自定义注解拦截Controller方法
文章目录开篇 - 前奏正文 - 间奏配置处理自定义注解java中元注解解释方法拦截器实现类使用结尾 - 尾声感悟 - 高潮开篇 - 前奏最近项目后台针对报表查询进行优化,为了避免打开页面慢的问题,新增首次加载不返回数据的需求。由于后台报表较多,如果每个方法添加判断修改量较大且代码重复,故采用自定义注解的形式处理。后台前端使用Datatables插件进行实现,每次表格渲染插件会自动传递参数draw,初始draw=1,没次加载值递增。Datatables是一款jquery表格插件。它是一个高度灵活的工原创 2021-01-19 22:20:39 · 2754 阅读 · 0 评论 -
记录服务器CPU占用率飙升原因排查过程
文章目录描述定位进程定位线程定位代码位置结语描述记录一次最近公司服务器CPU占用率过高原因排查过程。定位进程通过Linux自带命令top 查看当前占用CPU最高的进程,记录进程号。通过top -p pid 查看指定pid进程CPU占用情况。定位线程输入命令 H 或 shift+h 查看进程内所有线程CPU占用情况。定位代码位置定位占用CPU最高的线程PID为15153 ,通过JDK自带命令jstack获取进程号为7643进程的堆栈调用信息。执行jstack 7643 > /tm原创 2020-11-27 11:04:21 · 2004 阅读 · 0 评论 -
初识ForkJoin框架
文章目录写在前面概述常用API详解ForkJoinPool线程池任务执行实现类案例注意事项写在最后写在前面最近工作中遇到优化单线程处理一个大任务性能优化的问题,我们首先想到肯定是多线程并行执行,那么又该如何拆分子任务并均匀分配给每个线程执行呢?也许我们只听过fork/join框架思想并未实战演练,更不了解JDK1.7+为我们提供ForkJoin相关类的API该怎么用。接下来就让我们一探究竟吧~~概述Fork/Join框架核心思想:它可以将一个大的任务拆分成多个子任务进行并行处理,最后将子任务结果原创 2020-11-23 09:57:41 · 290 阅读 · 0 评论 -
java日期与cron表达式互转工具类
问题:java日期与cron表达式互转工具类代码如下import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;/** * @Author Guixing * @Date 2019/3/20 11:19 * @Description */public cl...原创 2019-03-20 11:34:09 · 6585 阅读 · 2 评论 -
Java 操作临时文件创建与删除
在 Java 的 File 类中,有一个 createTempFile(String prefix,String suffix),调用它后,会在系统默认的临时文件目录中创建一个临时文件。prefix 表示文件名。suffix 表示文件的后缀,形如 “.tmp”,注意这里需要包含 “.”final File htmlFile = File.createTempFile("temp", "....转载 2019-03-06 14:14:29 · 3279 阅读 · 0 评论 -
面试必会之HashMap源码分析
声明:本文章原出处为https://mp.weixin.qq.com/s/vRvMvNktoDSQKMMlnj5T0g,本人觉得写的很详细,分享出来,共同学习!简介HashMap最早出现在JDK1.2中,底层基于散列算法实现。HashMap 允许 null 键和 null 值,是非线程安全类,在多线程环境下可能会存在问题。1.8版本的HashMap数据结构:为什么有的...原创 2019-03-05 11:37:21 · 162 阅读 · 0 评论 -
Arrays.asList()不能使用add和remove方法的原因
今天无意中测试了一下数组转集合的jdk封装好的工具类Arrays,意外发生了。。。代码如下: public static void main(String[] args) { Integer[] i = {128,12,1}; List<Integer> list = Arrays.asList(i); list.add(123...原创 2018-10-31 16:21:41 · 3030 阅读 · 1 评论 -
java实习面试题总结
基础篇String、StringBuffer和StringBuilder的区别 Array、ArrayList和LinkedList区别 HashMap和Hashtable的区别 HashMap和ConcurrentHashMap的区别 HashMap实现原理及扩容机制 常见数据结构 运行时异常和编译时异常的区别 面向对象的三大特征,并解释 面向对象与面向过程的区别 重载和重...原创 2018-08-15 09:54:19 · 730 阅读 · 1 评论 -
进制转换(十进制->二进制、八进制、十六进制)
问题描述:通用进制转换方法抽取代码如下:public class Tansform { public static void main(String[] args) { trans(100, 4, 15); //转16进制 trans(16, 3, 7); //转8进制 trans(16, 1, 1); //转2进制 } /** * 十进制转换 * @param n...原创 2018-06-20 17:04:20 · 193 阅读 · 0 评论 -
求字符串子串数
问题描述:给定字符串求字符串的子串个数解决思路:假设字符串str="abcdef";求子串可以看成将该字符串分割成不同的字符串,需要两个分隔符即可实现。a|bc|def 设字符串长度为n,第一个分隔符有n+1种放法,第二个有n种放法。由于两个分隔符互换位置结果相同,所以需要折半,再加上空串所以个数为:n(n+1)/2+1。...原创 2018-06-26 11:01:45 · 2586 阅读 · 0 评论 -
文件夹下的文件内容拷贝到一个文件
解决问题:将一个文件夹下以.java结尾的文件拷贝到a.txt文件中(源码拷贝)代码实现:import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;im...原创 2018-06-25 20:43:48 · 204 阅读 · 0 评论 -
金额转换问题
问题描述:阿拉伯数字转换为中国传统的形式例如:1001->壹仟零壹元代码如下:public class ConvertTest { private static char[] data = {'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'}; private static char[] units = {'元','拾','佰','仟','万','拾',...原创 2018-06-22 14:06:50 · 424 阅读 · 0 评论