![](https://img-blog.csdnimg.cn/20210817144250563.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java系列
文章平均质量分 82
java系列技术分享、笔记分享
BeanInJ
只有代码,没有废话。
展开
-
java面试常问
ThreadLocal是一种线程隔离机制,提供了多线程环境下对于共享变量访问的一个安全性。在每个线程里面都有一个容器,来存储共享变量的一个副本,然后每个线程只对自己的变量副本进行更新操作。实现原理:在Thread类里面有一个ThreadLocalMap,用来存储共享变量的副本,线程仅对这个副本进行操作,不影响全局共享变量的值,实现数据隔离。原创 2023-11-16 15:11:11 · 447 阅读 · 0 评论 -
java 文件操作工具
读取一个目录下所有txt后缀的文件,按文件内容输出为List<List>将 前端输入进来的文件 分成N个输入流。将输出流Lits保存为多个文件。原创 2023-08-25 11:08:06 · 269 阅读 · 0 评论 -
java 开发笔记(2)
记录在spring boot项目开发过程中,常用的工具方法。原创 2023-07-26 11:34:25 · 163 阅读 · 0 评论 -
java 动态编译运行
Java Compiler 可以动态执行一段字符串形式的java代码,或手动编译java文件。原创 2022-11-24 18:35:23 · 2796 阅读 · 2 评论 -
Kotlin 语言学习
本文更偏向于有一定java基础的人学习,主要区分Kotlin 语言和java的区别。Kotlin 零基础入门Kotlin在线编程。原创 2022-11-15 15:41:22 · 457 阅读 · 0 评论 -
JAVA Swing 与 GUI Form
java常用于后端开发,用于UI的Swing API较少有人用,但是在做一些窗口程序还是不得不用到,比如做idea插件的时候。原创 2022-11-14 14:05:04 · 2652 阅读 · 0 评论 -
groovy 语言学习
本文更偏向于有一定java基础的人学习,主要区分groovy 语言和java的区别。Groovy 零基础入门Groovy在线编程。原创 2022-11-13 18:49:50 · 1076 阅读 · 0 评论 -
IDEA插件开发
idea这些插件都是怎么开发的?本文手把手带你开发。原创 2022-11-10 09:39:48 · 6074 阅读 · 2 评论 -
Gradle 自动化构建开源工具
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。面向Java应用为主。当前其支持的语言C++、Java、Groovy、Kotlin、Scala和Swift,计划未来将支持更多的语言。原创 2022-11-08 17:06:09 · 1813 阅读 · 0 评论 -
猿创征文|java开发常使用的工具
推荐几个在日常开发中,常用到的工具。用一句话概括同类工具的对比与使用体验。原创 2022-10-31 14:18:41 · 1853 阅读 · 3 评论 -
java AbstractProcessor 编译时注解(API)
编译时注解的核心依赖APT(Annotation Processing Tools)实现,对应的处理流程为:在某些代码元素上(如类型、函数、字段等)添加注解,编译时编译器会检查AbstractProcessor的子类,然后将添加了注解的所有元素都传递到该类的process函数中,使得开发人员可以在编译器进行相应的处理。原创 2022-10-25 16:41:29 · 1347 阅读 · 0 评论 -
java AbstractProcessor 编译时注解 (JSR 269)
Lombok 的getter、setter如何实现的?答案就在AbstractProcessor 身上,继承AbstractProcessor 抽象类,java文件在编译时编译器会检查AbstractProcessor的子类,并根据这些子类的内容,对java文件进行动态修改,再生成class文件。原创 2022-10-21 16:55:56 · 1536 阅读 · 2 评论 -
从jdk8升级到jdk17
从java8升级到java17,一篇文章讲完所有新特性原创 2022-10-07 17:42:17 · 7990 阅读 · 2 评论 -
Netty 入门学习(1)
Netty 是一个基于NIO的异步的网络服务器和客户端。netty官网:https://netty.io/NIO原创 2022-09-26 14:46:01 · 310 阅读 · 0 评论 -
EasyExcel 导入导出Excel文件
EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。github文档: https://github.com/alibaba/easyexcel。原创 2022-09-13 10:56:02 · 8728 阅读 · 4 评论 -
面试题:java两个线程交替输出
object.notifyAll() :用于唤醒在该对象上等待的所有线程object.wait():让当前线程释放该对象的锁,并阻塞当前线程CountDownLatch latch = new CountDownLatch(1):创建一个数量为1的门闩latch.countDown() : 门闩数量-1latch.await():等待,直到门闩数为0...原创 2022-06-05 20:03:43 · 1265 阅读 · 1 评论 -
java中volatile关键字的作用
volatile可以保证可见性、有序性原创 2022-06-05 13:36:18 · 1704 阅读 · 0 评论 -
关于java中单例的几个疑问
DCL中判断 singleton == null 是必要的吗?为什么不直接上锁 ?volatile必须要加吗?不加会怎么样?原创 2022-06-04 23:51:43 · 357 阅读 · 0 评论 -
Java NIO学习 (1)
文章目录写在前面1、Buffers1.1、Buffer的方法1.2、Scatter/Gather2、Channels2.1、FileChannel2.1.1、从文件读取数据2.1.2、将数据写入文件2.1.3、FileChannel方法2.2、SocketChannel2.3、ServerSocketChannel2.4、DatagramChannel3、Selector3.1、将channel注册到selector3.2、interest集合3.3、SelectionKey写在前面Java NIO 由原创 2022-04-05 21:20:04 · 770 阅读 · 0 评论 -
java中的位运算符
文章目录位运算符1、&(按位与)2、|(按位或)3、^(按位异或)4、~(非)5、<<(右移)6、>>(左移)7、<<<(无符号右移)位运算符运算符描述&按位与|按位或^按位异或~非运算符<<右移>>左移>>>无符号右移1、&(按位与)真值表:实例:2、|(按位或)真值表:实例:3、^(按位异或)真值原创 2022-02-10 15:53:39 · 651 阅读 · 2 评论 -
java中Serializable、transient
文章目录1、Serializable 序列化接口1.1、有什么用?1.2、什么情况下用?1.3、要注意些什么2、transient 关键字2.1、什么情况下用?2.2、要注意些什么3、序列化与反序列化3.1、serialVersionUID 版本号的作用1、Serializable 序列化接口如下,写一个类实现Serializable,并标注序列化版本号public class Foo implements Serializable { private static final long se原创 2022-01-13 17:18:28 · 816 阅读 · 1 评论 -
Java 中常用的函数式接口Consumer
文章目录写在前面1、 Consumer 源码解析1.1、@FunctionalInterface注解1.2、void accept(T t)1.3、default Consumer andThen(Consumer<? super T> after)2、 Consumer 使用实例2.1、forEach(Consumer<? super T> action)2.2、格式化打印信息 实例写在前面java.util.function.Consumer 接口,一般用它来消费一个数据,原创 2021-12-02 17:52:52 · 2464 阅读 · 0 评论 -
java 桥接模式实现代码
java桥接模式实例原创 2021-12-01 17:13:08 · 486 阅读 · 0 评论 -
异步编程 CompletableFuture
文章目录写在前面1、写在前面1、原创 2021-11-09 17:23:47 · 360 阅读 · 0 评论 -
java中的Lamda表达式
文章目录1、Lamda表达式1.1、语法1.2、使用场景1、Lamda表达式1.1、语法Lamda常见语法:()-> 一句代码;()-> {一堆代码};(int a,String b ...)-> {一堆代码};(a,b ...)-> {一堆代码};a -> 一句代码;如上括号中有参数时,参数类型可省略。实例:// 实例1new Thread(()-> System.out.println("Lamda线程").start();// 实例原创 2021-11-09 10:33:58 · 566 阅读 · 0 评论 -
剖析JVM常量池
文章目录写在前面1、预备知识1.1、如何获取class字节码内容1.2、字节码各部分什么意思2、class文件常量池2.1、生成字节码2.2、字面量与符号引用2.2.1、字面量2.2.2、符号引用写在前面本文尝试从字节码中解读下面两个问题:1、String a=“ab”,在JVM中发生了什么?2、String b=“a”+“b”,底层是如何实现?1、预备知识JVM中的常量池可以分成以下几类:1、Class文件常量池2、全局字符串常量池3、运行时常量池1.1、如何获取class字节码内容原创 2021-11-08 21:44:58 · 222 阅读 · 0 评论 -
java 单例对象实例
创建单例对象写在前面新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入写在前面你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下M原创 2021-10-26 14:10:00 · 249 阅读 · 1 评论 -
java 线程 2(线程池)
文章目录写在前面1、线程池的创建1.1、workQueue 超出后保存任务的队列1.2、饱和策略2、继承自ThreadPoolExecutor的几个线程池2.1、newCachedThreadPool 无限扩大线程池2.2、newFixedThreadPool 定长线程池2.3、newScheduledThreadPool 定长线程池,支持定时及周期性任务2.4、 newSingleThreadExecutor 单线程线程池2.5、newWorkStealingPool 多个任务队列线程池3、在spri原创 2021-10-21 10:28:46 · 98 阅读 · 0 评论 -
java 线程 1
文章目录写在前面1、单线程的创建1.1、继承Thread类使用示例1.2、实现runable接口使用示例1.3、实现callable接口使用示例2、sleep和wait的区别2.1、使用wait需要注意2.2、释放锁写在前面1、单线程的创建1 继承Thread类 (里面实际上也是实现的Runnable接口)2 实现runable接口 (没返回值)3 实现callable接口 (有返回值)1.1、继承Thread类使用示例class Mythread extends原创 2021-10-20 14:22:27 · 60 阅读 · 0 评论 -
springboot多线程注解 @Async(“asyncExecutor“)
文章目录springboot多线程注解 @Async(“asyncExecutor“)springboot多线程注解 @Async(“asyncExecutor“)定义线程池 AsyncTaskExecutePool.javaimport java.util.concurrent.ThreadPoolExecutor;import org.springframework.context.annotation.Bean;import org.springframework.context.anno原创 2021-10-09 15:57:29 · 3270 阅读 · 0 评论 -
java 开发笔记(1)
文章目录写在前面1、字符串操作相关1.1、 判断字符串相等1.2、 判断字符串为空1.3、基本数据类型转字符串用.toString()2、for循环相关2.1、在for循环外面定义变量2.2、List被for出来的对象改变,List也会改变2.3、减少重复计算2.4、try…catch…应该放在循环外面3、集合、对象、程序结构3.1、检查Map里面是否有某个key3.2、对象深拷贝3.3、一个对象在需要的时候再去创建3.4、在适当的时候使用System.gc()3.5、apache的FileUtils3.6原创 2021-09-15 22:54:20 · 225 阅读 · 0 评论 -
搞懂时间复杂度、时间复杂度
文章目录写在前面1、数学中的log什么意思?2、用T(n)表示程序执行次数3、用O(n)表示时间复杂度4、时间复杂度大小比较写在前面时间复杂度是用来干什么的?时间复杂度可以用来衡量算法的执行效率。1、数学中的log什么意思?预备知识:数学中的log什么意思?log表示对数。如果a的b次方等于n,那么在上面的式子中,我们可以看出log最后等于的是b,b表示a的多少次方,b是一个量级、a是一个系数,而时间复杂度中只考虑量级,所以我们写的时候常常忽略a,直接写 log n。2、用T(n)表示程序原创 2021-04-22 11:14:50 · 2334 阅读 · 1 评论 -
ActFramework 轻量级java web框架 (2、项目实战)
文章目录写在前面1、搭建项目基础组成1.1、新建实体类User.java1.1.1、SimpleBean接口1.1.2、passwordHash()方法1.2、UserDao.java1.2.1、JPADao类1.3、UserService.java1.3.1、@AutoBind 注解1.4、UserServiceImpl.java1.4.1、@Inject注解1.5、UserController.java1.5.1、Controller.Util类1.6、register.html1.7、login.ht原创 2021-08-05 15:12:33 · 294 阅读 · 0 评论 -
springboot + mybatis 使用 SqlSessionTemplate 指定 mapper.xml
文章目录写在前面1、新建springboot项目2、从bean到controller2.1、SqlSessionTemplate 与 xml对应的地方写在前面学习笔记1、新建springboot项目MYSQL数据库、表pom.xml里面的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp原创 2021-04-13 16:50:23 · 1356 阅读 · 0 评论 -
java 知识点 11(xpath、自定义web容器、maven、eclipse编码环境)
文章目录1、struts21.1、环境搭建1、struts21.1、环境搭建打开eclipse,新建Maven项目原创 2020-08-06 20:57:45 · 547 阅读 · 0 评论 -
java 知识点 10(匿名内部类、反射、自写类型转换器、jdbcUtils封装、注解、事务)
文章目录1、匿名内部类1.1、匿名内部类的语法糖1.2、通过匿名内部类实现接口2、日期转换器1、匿名内部类1.1、匿名内部类的语法糖jdk1.8以后支持没使用语法糖使用语法糖1.2、通过匿名内部类实现接口错误写法:通过匿名内部类实现接口:2、日期转换器现在用户填入的日期规则只能是yyyy/MM/dd这样的格式新建一个接口ValueProcessor(接口只定义方法,不负责实现)新建类TypeConverter,里面封装一个map键值对在工具类里面判断用户是否注册了转换原创 2020-07-22 18:37:52 · 299 阅读 · 0 评论 -
数据与内存模型 (mysql索引、JVM内存、java线程内存)
文章目录1、mysql索引1.1、索引的数据结构1.1.1、二叉树1.1.2、红黑树1.1.3、hash表1.1.4、B-Tree1.1.5、B+Tree1.2、数据表与对应的文件1.2.1、MyISM 非聚集索引1.2.2、InnoDB 聚集索引2、JVM调优基础2.1、javap 指令查看字节码文件2.2、栈(线程)2.2.1、操作数栈2.2.2、动态链接2.2、程序计数器2.3、堆2.4、方法区(元空间)2.5、本地方法栈2.6、jvisualvm 查看jvm内存空间3、多线程并发基础1、mysql原创 2020-12-09 16:07:24 · 254 阅读 · 1 评论 -
java常用API 1(系统类、随机数、数组、超类、时间类、基本类型与包装类)
文章目录java常用API1、官方文档的使用2、java.util 中常用2.1、Scanner 类 (键盘输入)2.2、Random 类 (随机数)java常用API官方中文API文档 下载地址:jdk1.6的 :链接:https://pan.baidu.com/s/1TxmXzyFdf8JP-Z-2jI6JGQ 提取码:0523到目前官方只出了1.6的中文官方文档,如果想看1.8的可以参考其他人翻译的我们在日常使用过程中,只有java.lang下的类不需要导包,其他的api都需要im原创 2021-01-30 18:37:02 · 241 阅读 · 0 评论 -
Spring中的@Configuration、@Bean
文章目录1、关于@Configuration 和 @Bean1.1、可以有@Bean没有@Configuration吗?1.2、其他如:@Component、@Repository、@Service等里面能写@Bean吗?1.3、可以有@Configuration没有@Bean吗?1、关于@Configuration 和 @Bean大家都知道spring中的配置类需要加@Configuration,里面的方法需要加@Bean,如下测试输出一下这几个 beanAnnotationConfigApp原创 2021-05-26 11:20:03 · 791 阅读 · 0 评论 -
java 知识点 19(Vue、 element UI、axios、npm)
文章目录1、Vue1.1、学习Vue之前1.2、第一个vue项目1、Vuevue官方文档: https://cn.vuejs.org/v2/guide/vue是一个前端框架,Vue.js 的核心是采用简洁的语法来将数据渲染进 DOM 的系统。vue只关心视图层(也就是页面范围)1.1、学习Vue之前css预处理器css预处理器是用于样式设计的编程语言,最后会通过编译器转为css常用css预处理器:SASS、LESS原生js版本ES5,全浏览器支持版本ES6,当前主流版本,需原创 2020-09-05 00:18:43 · 268 阅读 · 0 评论