随笔分类 -  java基础

摘要:1 前言 本文主要通过简单的demo来阐述synchronized锁的各种用法以及使用synchronized锁的相关注意事项,记录下来同时也方便自己记忆。 synchronized锁是jvm内置的锁,不同于ReentrantLock锁。synchronized关键字可以修饰方法,也可以修饰代码块。 阅读全文
posted @ 2021-12-28 10:38 苏先生139 阅读(372) 评论(0) 推荐(0) 编辑
摘要:1. Excel2003与Excel2007 两个版本的最大行数和列数不同,2003版最大行数是65536行,最大列数是256列,2007版及以后的版本最大行数是1048576行,最大列数是16384列。 excel2003是以二进制的方式存储,这种格式不易被其他软件读取使用;而excel2007采 阅读全文
posted @ 2021-07-16 11:15 苏先生139 阅读(644) 评论(0) 推荐(0) 编辑
摘要:<dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> package testTraffic.utils; import org.dom4 阅读全文
posted @ 2021-05-22 11:15 苏先生139 阅读(1343) 评论(0) 推荐(0) 编辑
摘要:Swing 是一个为Java设计的GUI工具包。 Swing是JAVA基础类的一部分。 Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。 Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。它们是JFC 阅读全文
posted @ 2021-05-21 11:23 苏先生139 阅读(515) 评论(0) 推荐(0) 编辑
摘要:一、前言 为什么会产生这个需求呢? 我们公司作为乙方,老是被客户追着要一份API文档,当我们把一个 Swagger 文档地址丢给客户的时候。客户还是很不满意,嫌不够正式!!死活坚持要一份 word 文档 。然后领导给了个接口模板,就把这个活交给我了……我去,近10个微服务,几百个接口,这不得要了我的 阅读全文
posted @ 2020-12-01 16:25 苏先生139 阅读(768) 评论(0) 推荐(0) 编辑
摘要:.什么是幂等 在我们编程中常见幂等 select查询天然幂等 delete删除也是幂等,删除同一个多次效果一样 update直接更新某个值的,幂等 update更新累加操作的,非幂等 insert非幂等操作,每次新增一条 2.产生原因 由于重复点击或者网络重发 eg: 点击提交按钮两次; 点击刷新按 阅读全文
posted @ 2020-12-01 10:52 苏先生139 阅读(481) 评论(0) 推荐(0) 编辑
摘要:序列化通信 将对象转换为字节数组,方便在网络中进行对象的传输。在网络通信中,不同的计算机进行相互通信主要的方式就是将数据流从一台机器传输给另外一台计算机,常见的传输协议包括了TCP,UDP,HTTP等,网络io的方式主要包括有了aio,bio,nio三种方式。 当客户端将需要请求的数据封装好了之后就 阅读全文
posted @ 2020-11-30 13:25 苏先生139 阅读(180) 评论(0) 推荐(0) 编辑
摘要:1、介绍 java实现文件的导入导出数据库,目前在大部分系统中是比较常见的功能了,今天写个小demo来理解其原理,没接触过的同学也可以看看参考下。 目前我所接触过的导入导出技术主要有POI和iReport,poi主要作为一些数据批量导入数据库,iReport做报表导出。另外还有jxl类似poi的方式 阅读全文
posted @ 2020-11-25 11:16 苏先生139 阅读(447) 评论(0) 推荐(0) 编辑
摘要:CyclicBarrier 接着讲多线程下的其他组件,第一个要讲的就是CyclicBarrier。CyclicBarrier从字面理解是指循环屏障,它可以协同多个线程,让多个线程在这个屏障前等待,直到所有线程都达到了这个屏障时,再一起继续执行后面的动作。看一下CyclicBarrier的使用实例: 阅读全文
posted @ 2020-10-19 16:11 苏先生139 阅读(153) 评论(0) 推荐(0) 编辑
摘要:ThreadPoolExecutor中常用参数有哪些? ThreadPoolExecutor中线程池状态和线程数量如何存储的? ThreadPoolExecutor有哪些状态,状态之间流转是什么样子的? ThreadPoolExecutor任务处理策略? ThreadPoolExecutor常用的拒 阅读全文
posted @ 2020-10-16 18:39 苏先生139 阅读(200) 评论(0) 推荐(0) 编辑
摘要:Java运行时数据区 Java虚拟机在执行Java程序的过程中会将其管理的内存划分为若干个不同的数据区域,这些区域有各自的用途、创建和销毁的时间,有些区域随虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束来建立和销毁。 Java虚拟机所管理的内存包括以下几个运行时数据区域,如图: 1、程 阅读全文
posted @ 2020-10-13 17:50 苏先生139 阅读(104) 评论(0) 推荐(0) 编辑
摘要:进程与线程 进程 当一个程序被运行,就开启了一个进程, 比如启动了qq,word 程序由指令和数据组成,指令要运行,数据要加载,指令被cpu加载运行,数据被加载到内存,指令运行时可由cpu调度硬盘、网络等设备 线程 一个进程内可分为多个线程 一个线程就是一个指令流,cpu调度的最小单位,由cpu一条 阅读全文
posted @ 2020-10-13 17:38 苏先生139 阅读(139) 评论(0) 推荐(0) 编辑
摘要:概述 ArrayList不是线程安全的,所以如果需要保证ArrayList在多线程环境下的线程安全,即保证读的线程可见性和写的数据一致性,可以使用synchronized或者ReentrantLock对ArrayList的读写进行同步,或者使用Collections.syncrhonizedList 阅读全文
posted @ 2020-10-13 15:38 苏先生139 阅读(279) 评论(0) 推荐(0) 编辑
摘要:Lambda Lambda介绍 Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。 Lambda表达式的结构 一个 Lamb 阅读全文
posted @ 2020-10-13 15:26 苏先生139 阅读(270) 评论(0) 推荐(0) 编辑
摘要:软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量的try {...} catch {...} finally {...} 代码块,不仅有大量的冗余代码,而且还影响代码的可读性。比较下面两张图,看看您现在编写的代码属于哪一种 阅读全文
posted @ 2020-10-13 12:00 苏先生139 阅读(1009) 评论(0) 推荐(0) 编辑
摘要:①同步阻塞IO(Blocking IO):即传统的IO模型。 ②同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(New IO)库。 ③多路复用IO(IO Multiple 阅读全文
posted @ 2020-10-13 11:22 苏先生139 阅读(659) 评论(0) 推荐(0) 编辑
摘要:在java中的锁分为以下(其实就是按照锁的特性和设计来划分 1、公平锁/非公平锁 2、可重入锁 3、独享锁/共享锁 4、互斥锁/读写锁 5、乐观锁/悲观锁 6、分段锁 7、偏向锁/轻量级锁/重量级锁 8、自旋锁(java.util.concurrent包下的几乎都是利用锁) 从底层角度看常见的锁也就 阅读全文
posted @ 2020-10-13 11:16 苏先生139 阅读(157) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示