Java基础
Java基础知识
安小然然
这个作者很懒,什么都没留下…
展开
-
Java文件夹复制
Java文件夹复制原创 2023-02-06 17:50:37 · 226 阅读 · 0 评论 -
Java集合转数组
Java集合转数组原创 2022-11-24 11:22:26 · 215 阅读 · 0 评论 -
BufferedImage 基本操作
BufferedImage原创 2022-11-09 11:15:17 · 1295 阅读 · 0 评论 -
Java 将集合转变为按照指定分隔符隔开的字符串
Java 将集合转变为按照指定分隔符隔开的字符串原创 2022-11-07 16:35:17 · 805 阅读 · 0 评论 -
List addAll 导致的性能问题
List addAll 导致的性能问题原创 2022-10-10 15:02:15 · 1068 阅读 · 0 评论 -
java生成不带特殊字符的UUID
java生成不带特殊字符的UUID原创 2022-08-29 13:38:28 · 2308 阅读 · 0 评论 -
IOUtils pom 依赖
IOUtils pom 依赖原创 2022-07-26 16:32:18 · 754 阅读 · 0 评论 -
Java 时间字符串转换为date
Java 时间字符串转换为date原创 2022-04-01 17:31:06 · 6555 阅读 · 0 评论 -
Java Stream Reduce
1 背景1.1 编程思想Map Reduce是一种编程思想 ,MapReduce 模型将数据处理方式抽象为 map 和 reducemap 也叫映射,它表现的是数据的一对一映射,通常完成数据转换的工作reduce 被称为归约,它表示另外一种映射方式,通常完成聚合的工作1.2 具体应用有一组数据,数据是整数,需要求这一组数的总和2 基于Stream Reduce 的解决方案在没有stream reduce技术栈之前,我们需要进行循环汇总的操作,得到一个具体的原创 2022-01-06 17:36:45 · 5262 阅读 · 0 评论 -
Java Stream Map
1 背景JDK1.8推出的新特性 stream。stream是一种新的编程思想,提供了很多函数,简化了代码量,提高了开发速度Map函数是其中一个具体的方法2 Map2.1 具体案例存在一个集合,将集合中每一个元素加上2,得到新集合 2.2 解体思路2.2.1 没有Stream技术之前在没有Stream技术之前,解体思路是进行for循环,为每一个元素进行+2的操作2.2.2 使用Stream解决 public static v...原创 2022-01-06 09:35:01 · 11693 阅读 · 0 评论 -
java解析xml数据基于dom4j
1 背景 调用外部接口,接口返回值是xml格式的2 三方框架 三方框架技术栈有很多,本篇文章的技术选型是dom4j <!-- xml解析 --> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> ...原创 2021-12-07 10:53:02 · 427 阅读 · 0 评论 -
commons-csv读取csv文件
1 背景 实际工作中,很多数据都存在csv文件中,使用 java语言开发的时候,有的时候需要读取文件,或者将csv文件导入到数据库中。commons-csv作为三方类库,简化了读取操作2 应用 2.1 引入pom 文章使用1.9.0版本 <dependency> <groupId>org.apache.commons</groupId> <artifactId...原创 2021-11-26 11:07:30 · 2902 阅读 · 0 评论 -
死锁讲解并以数据库死锁和java死锁进行具体场景讲解
1 死锁是什么死锁是指两个线程之间相互等待对方资源,但同时又互不相让,都想自己先执行2 Java中的死锁具体例子 使用synchronized 关键子作为锁,并且两个线程之间同时对同一个synchronized关键子修饰的对象锁进行争抢,导致死锁 具体代码public class MayDeadLock { Object o1 = new Object(); Object o2 = new Object(); public void thr...原创 2021-01-20 17:13:12 · 331 阅读 · 2 评论 -
Java时间戳中的应用
时间戳基本概念 Unix时间戳(Unix timestamp)是什么_安小然然的博客-CSDN博客Web服务接口3.1 基本定义定义Web接口的时候,如果需要传递时间,建议使用时间戳,可以避免不同格式之间导致的问题3.3具体编码 参数定义Long receiveTimestamp java生成代码 Long time = new Date().getTime()/1000; java 时间戳转为Date...原创 2021-11-15 15:40:06 · 427 阅读 · 0 评论 -
java for (;;)
背景for (;;) 这种写法一般存在源码里面,平时写代码一般用不上,但是需要明白原理原理for (;;) 相当于while(true)原创 2021-07-27 14:07:39 · 1000 阅读 · 0 评论 -
Java创建指定长度的数组
1 需要创建一个为10的Object类型的数组 Object[] objects = new Object[10];原创 2021-10-08 15:34:52 · 8188 阅读 · 0 评论 -
HashMap源码讲解一 hash算法
1 什么是hash算法 来自百度百科Hash算法可以将一个数据转换为一个标志,这个标志和源数据的每一个字节都有十分紧密的关系。Hash算法还具有一个特点,就是很难找到逆向规律个人批语 通过hash算法可以把一个数据转换为一个值,这个值暂用很小的空间,但是这个转换是不可逆的2 Java中hash算法的应用 java 的 根对象 Object 存在hashCode方法,是native修饰 /** ...原创 2021-09-22 09:42:57 · 294 阅读 · 0 评论 -
idea开启远程调试
启动的时候在java -jar 后面加上如下参数,注意远程调试需要占用一个端口号-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8089原创 2021-06-29 13:46:25 · 199 阅读 · 0 评论 -
Java JUC包描述说明
包的全类名 java.util.concurrent内部直观分类 原子类 locks锁 线程池相关原创 2021-03-02 16:22:33 · 211 阅读 · 0 评论 -
线程池复用原理
线程池复用原理的业务背景线程池使用固定数量的线程去执行不定量的任务,面对这种情况线程池通过 何种设计思想 以及编码实现此业务场景呢线程池复用设计思想 如何保证一个线程一直处于Runable状态 ,这里面得Runable状态会对应操作系统线程状态中的两种状态,分别是 Running 和 Ready,也就是说,Java 中处于 Runnable 状态的线程有可能正在执行,也有可能没有正在执行,正在等待被分配 CPU 资源。 细心观察,自旋锁,阻塞队列,这些都采用了一种设计思想,循...原创 2021-02-05 11:24:28 · 263 阅读 · 0 评论 -
java字符串如何去除特殊字符双引号
String str= str.replace("\"", "");原创 2020-12-21 16:13:02 · 6735 阅读 · 6 评论 -
java 线程池中线程异常处理
背景介绍 提交到线程池的线程如果不自己管理异常,当线程发生异常以后,这个线程会进入到wating状态。导致线程不可用解决方案 自己捕获异常,注意catch的内容不是exception try { }catch (final Throwable ex) { }...原创 2020-12-16 20:15:47 · 376 阅读 · 0 评论 -
DATE_FORMATE()函数
语法格式 DATE_FOMATE(date,format)是什么 用于不同的时间格式显示 日期、时间的输出形式参数说名 date 要进行转换的时间,而且该时间需要是合法的时间 format 时间格式e.g SELECT DATE_FORMAT("2018-04-24","%Y-%m-%d %H:%i:%S")FROM dual;可用的格式参考列表格式描述...原创 2018-04-24 10:21:21 · 4322 阅读 · 0 评论 -
定义使用JAVA可变参数
JAVA可变参数是什么 从JDK5开始,Java提供了一个新特性,该特性可以简化某种方法的创建,这中方法需要使用数量可变的参数。这种特性称为“varargs”也就是可变长度参数的英文缩写,使用可变长度参数的方法称为可变参数方法,或简称为varargs方法。 如何使用 在参数列表最后定义参数列表 格式为 数据类型 ... args参数名 ...原创 2018-05-15 10:28:06 · 384 阅读 · 0 评论 -
JAVA求出两个日期相隔的天数,以及相隔之间的日期都是什么
应用场景 有了开始时间,和结束时间。但是要知道之间间隔了多少天,间隔的日期都是什么.技术分析 1 首先第一步是求出开始时间和结束时间之间间隔的天数 技术选型为Date对象getTime()方法 落地代码 long intervalMilli = end.getTime() - start...原创 2018-05-10 13:56:09 · 997 阅读 · 0 评论 -
JAVA如何实现两个数据合并
首先定位问题 我需要把两个数组合并成一个数组技术选型 使用第三方SDK SDK 全名 commons-lang3:3.7 SDK POM <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --><dependency> <g...原创 2018-06-21 09:39:50 · 5709 阅读 · 0 评论 -
JAVA获取当前系统日期
1 首先日期是什么概念 日期的最小粒度到天2 我要获取的日期格式是什么样的 yyyy-MM-dd 3 JAVA实现的技术选型 SimpleDateFormat Date对象4 实现代码案例 SimpleDateFormat dateFormat = new SimpleDateFormat(" yyyy-MM-dd ");...原创 2018-06-14 10:36:59 · 19911 阅读 · 3 评论 -
Java -jar 启动时默认参数
-XX:CICompilerCount=4 -XX:InitialHeapSize=528482304 -XX:MaxHeapSize=8430551040 -XX:MaxNewSize=2810183680 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=176160768 -XX:OldSize=352321536 -XX:+UseCompressedClas...原创 2019-12-25 16:22:40 · 1490 阅读 · 0 评论 -
多线程处理List集合
背景 假如你的需求要处理一个很大的集合,并且处理时间希望越开越好。正常你就是启动一个方式,以单线程的方式慢慢处理。下面 我会编写一个多线程方案改善你的代码。实施方案 将集合拆分成多个子集合,数据分片 引入三方,guava <dependency> <groupId>com.google.guava</groupId> <artifactId>guava<...原创 2020-06-30 11:52:30 · 1565 阅读 · 0 评论 -
java 将数组转换为List
背景 将数组转换为List集合方案 使用工具类Arrays.asList()把数组转换成集合原创 2020-06-30 11:01:12 · 302 阅读 · 0 评论 -
命令式编程--持续更新
JAVA程序写了多年,发现所有的代码结构都是命令式编程,为了实现而实现。命令式编程是编写,理解和调试代码最简单的方法原创 2018-04-12 08:36:18 · 381 阅读 · 0 评论 -
JAVA String类型转变成 int 类型
JAVA Integer类 提供了静态方法parseInt(String str)原创 2018-04-11 12:36:59 · 515 阅读 · 0 评论 -
Java 实现 Excel导出
环境准备 JDK1.8+ maven实现范围 将集合数据+表头 转换成具体的Excel对象,注意这个范围。将Excel对象转换为文件是另外一个方法的事三方包引入 <dependency> <groupId>org.apache.poi</groupId> <artifactId>p...原创 2020-05-06 11:43:03 · 325 阅读 · 0 评论 -
centos上安装JDK
1 使用wget获取需要的JDK包cd /optwget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/o...原创 2020-04-15 10:59:55 · 268 阅读 · 0 评论 -
线程工厂
1 是什么 配合线程池创建线程的 统一父类并且是一个接口 ThreadFactory2 技术细节 1 如果不自己定义一个线程工程,那么会走默认的线程工厂 2 默认的线程工长只能创建一个 新的 非守护的线程 ...原创 2019-11-19 17:38:39 · 631 阅读 · 0 评论 -
java一个数组如何转换为一个集合
背景分析 Java中的数组虽然可以存储对象,但是会面临的问题是不具备集合一些包含现成的算法,所以如何通过java程序简单的转换为集合呢推荐用法 1 将数组转换为数据结构最为相似的 List 2 利用jdk自带的类,Arrays.asList方法集合 3 示例代码...原创 2019-11-06 14:49:27 · 442 阅读 · 1 评论 -
关于解决IDEA配置maven工程控制台乱码问题
1 背景分析 项目中开发工具会使用maven来构建项目,idea在右侧提供了如下功能,点击如下命令的时候涉及到中文汉字的输出则会出现乱码问题 网上说配置idea一堆参数即可解决问题2 本人亲测 File --- setting --- maven -- runner 新增-Dfile.en...原创 2019-11-06 14:27:37 · 385 阅读 · 0 评论 -
快速查询日志
现在线上服务器的日志输出到了一个文件夹,叫做 project.log你要在这个日志中快速找到一个关键词,比如是 id 为 123456的那条日志可以使用如下命令 grep -n -C10 'id:123456' project.log...原创 2019-10-16 10:47:26 · 539 阅读 · 0 评论 -
centos上安装JDK
1 使用wget获取需要的JDK包wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/j...原创 2019-10-12 10:21:16 · 312 阅读 · 0 评论 -
JAVA ArrayList 适用的场景
前言 集合是作数据存储的,根据我工作经验的总结,一般的特性如下特点 1 插入顺序 和 取出的顺序是一致的 2 没有重复数据 3 顺序是按照 大小 升序 或者降序的ArrayList适用场景 1 插入顺...原创 2019-10-10 16:38:22 · 1081 阅读 · 0 评论