Java语言
文章平均质量分 77
Java知识总结
Elltor
刘启春的专栏
展开
-
Netty技术分享
这是在项目组的第三次分享,学习了自己比较感兴趣的网络编程,收获颇丰,与各位一同分享。原创 2021-11-18 23:46:34 · 345 阅读 · 0 评论 -
开源|操作日志工具
摘要:业务系统中难免要记录敏感操作,可以通过硬编码或者简单注解实现,但是都不够优雅,今天分享一个自己写的日志工具。原创 2021-11-18 23:32:55 · 698 阅读 · 0 评论 -
深入理解Java多线程(四)锁、锁工具、并发容器
JUC提供了一套锁对象,分别是:Lock接口、AbstractQueuedSynchronizaer(队列同步器)、ReentrantLock、ReentrantReadWriteLock、Condition、LockSupport。个人博客:https://www.elltor.com/archives/112.html欢迎访问,相互学习,共同进步????文章目录Lock接口AbstractQueuedSynchronizaer 同步器使用AQS使用AQS实现非重入互斥锁ReentrantLoc原创 2021-06-01 22:28:01 · 213 阅读 · 4 评论 -
深入理解Java多线程(三)JUC基础篇
这篇文章主要侧重讲JUC的多数类的使用,文章里贴了很多练习的代码,可以通过代码更加深刻的了解这些类的功能。这篇文章主要总结了volatile、原子类、ReentrantLock、CountDownLatch、CyclicBarrier、Phaser、Semphore、Exchanger的使用,然后进行了一些对比。个人博客:https://www.elltor.com/archives/110.html欢迎访问,相互学习,共同进步????文章目录volatilevolatile使用volatile原创 2021-06-01 22:23:57 · 290 阅读 · 1 评论 -
深入理解Java多线程(二):多线程问题总结
学了一段时间多线程方面的知识了总感觉掌握的知识有些散乱,在网上搜了一些面试问题总结梳理一下,通过问题来促进和检测学习是一种很好的方式。多线程java中有几种方法可以实现一个线程?Java中有四种方式实现一个线程。通过实现一个Runnable继承Thread并重写run方法继承Callable,用Future接收可以实现异步调用使用线程池(executer)提交作业如何停止一个正在运行的线程?使用suspend可以挂起一个线程,使用stop可以终结一个线程,但这些方法已经不推荐使用,存在原创 2021-06-01 22:20:24 · 305 阅读 · 0 评论 -
深入理解Java多线程(一):多线程基础
文章目录Java 线程的实现线程的创建线程状态线程状态获取示例线程的优先级守护线程原子性 & 同步synchronizedsynchronized的使用示例JDK6对synchronized的优化锁升级过程锁的对比CPU常见术语volitailThreadLocal我的个人博客:https://www.elltor.com/archives/107.html欢迎访问,相互学习,共同进步????Java 线程的实现Java 线程在 JDK1.2之前,是基于称为“绿色线程”的用户线程实现的,原创 2021-06-01 22:17:40 · 279 阅读 · 1 评论 -
深入理解Java集合框架
Java集合实现了常用数据结构,是开发中最常用的功能之一。Java集合主要的功能由三个接口:List、Set、Queue以及Collection组成。常见接口:List : 列表,顺序存储,可重复Set :集合,与数学中的集合有同样的特性:元素不能重复Queue:队列Collection:所有Java集合的接口,定义了“集合”的常用接口结构结构常用集合ArrayList 一种可以动态增长或缩减的索引集合,底层通过Ojbect[]数组实现,默认容量为10,在使用是如果确定仓储的数据容原创 2021-05-26 16:57:13 · 170 阅读 · 0 评论 -
【Apache POI】设置单元格字体、颜色、边框、对齐方式、Excel读取导入、解析工具类
这个工具类来源于我们项目的实践,简化了一些重复性的工作,欢迎尝试,欢迎提出问题。工具类提供了设置单元格的基本背景颜色、字体、字号、字体颜色、边框等,还实现了导入导出、磁盘读写Excel。原创 2021-04-18 13:06:58 · 3861 阅读 · 11 评论 -
【Spring】@Autowired、@Resource、@RequiredArgsConstructor 的使用、区别、最佳实践
Spring 的核心是Ioc容器和DI(Dependence Injection)思想,这些提供了 java 对象的管理以及他们之间依赖的管理。bean 的管理是Spring自动管理的,而我们只需要使用一些注解(Annotion)。常用的是 @Resource 和 @Autowired 以及 lambok 的构造器进行注入。使用注入前对象必须由 Spring 管理。通过 @Component、@Service、@Repository 标识,Springboot会自动扫描并初始化 Bean。@Auto原创 2021-03-21 15:25:11 · 4508 阅读 · 1 评论 -
几篇不错的介绍Java加载机制的文章
在学模板方法(TemplateMethod)这种设计模式的时候我对类的调用过程产生了点疑惑,于是搜了一些文章读了读,这是几篇讲的不错了。这些文章讲得内容都涉及了jvm, 看来, 有空需要学习一下Java的虚拟机了!jvm系列(一):java类的加载机制这篇文件系统的介绍的Java类的加载机制和过程,并举了几个不错的例子。Java方法调用机制这篇文章分析了方法调用传参的机制, 总结了jvm内存的模块。java方法执行流程解析深入理解Java:类加载机制及反射...原创 2020-10-29 22:05:26 · 80 阅读 · 0 评论 -
【java】静态代理和Proxy动态代理
一个简单的"代理"模型图代理的功能也就如这个模型一样, 对销售这个流程多了些处理, 原先供应商直接出售给客户的商品, 由代理商宣传销售.代理在java中, 一般是对方法做出一些修改, 具体要看应用场景, 如:抽离多个方法中重复代码(Spring AOP就是这样)过滤器, 拦截器对其他包中对象的方法进行修改/增强静态代理需要代理类实现被代理类的接口.被代理类和接口...原创 2020-04-05 11:57:43 · 413 阅读 · 1 评论 -
浅析MVC模式与三层架构
三层架构是程序设计的一种典型架构方式,确立项目后首先做的是对其进行架构设计,三层架构就是把应用程序的分层,从而降低各个模块之间的耦合。而MVC是程序的一种设计模式,即应用程序确立架构后再根据需求决定是否要采用的一种模式, 是一种使程序代码变得条理、逻辑、通用的代码规范。因此二者的区别也就显现出来了,三层架构是一种架构方式而MVC是一种设计模式(或者说是一种设计思想)。原创 2019-10-24 21:36:52 · 373 阅读 · 0 评论 -
ArrayList实现多叉树
多叉树接口这个接口主要定义获取树的一些基本信息。如:获取节点数,获取根节点,获取一个节点的子节点/父节点以及对树进行遍历的方法。import java.util.List;public interface Treeable<E> { /** * 得到这棵树的节点数 * @return */ int getSize(); /** * 得到根节点 ...原创 2019-05-28 10:28:57 · 736 阅读 · 0 评论 -
Java连接MySQL数据库(多种连接方法)
当我们掌握Java的基础知识后就可以学习一些Java的高级技术(或特性)了,例如:集合、多线程、网络编程、数据库技术、并发等等。其中数据库技术在Java的学习中也是相当重要的,今天就简单介绍一下Java与MySQL数据类的1.提前准备- 下载并安装MySQL数据库- 下载并在eclipse中导入Java--MySQL连接器(ODBC)(两个连接器导入其中任意一个即可)2.连接...原创 2018-12-31 14:54:12 · 5234 阅读 · 1 评论 -
Java创建数组的方法
最近在学Java,一点小心得,希望和大家分享一下,第一次写文章,写的不好希望大家谅解,当然我也会尽力写好这篇文章!本章介绍的创建数组的各种方法,并对它们进行了对比和剖析,最后还扩展了一些知识。原创 2018-10-13 22:43:01 · 243733 阅读 · 10 评论 -
Java的传值与传址
Java同C语言一样,也可以按值来传递参数或者按地址来传递参数,Java的传值与传址与C语言是有区别的,在C语言中,传递数组或者传递指针就是在传址,若传递一个变量就是在传值(也可以使用&amp;字符取变量地址在传递),而Java中传值、传址泾渭分明,基本数据类型就是传值,对象就是传址。要想清晰的区分Java的传值和传址我们首先最Java的内存进行简单了解public static void m...原创 2018-12-30 23:09:29 · 508 阅读 · 0 评论