自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

深入Java世界:探索编程之美与技术深度

欢迎来到我的CSDN博客 —— 一个专为热爱Java的开发者和技术爱好者定制的技术空间。这里,我将与您一同深入探讨Java语言的奥秘,分享最前沿的编程实践,以及那些令人兴奋的技术突破。无论您是初学者渴望打下坚实的Java基础,还是资深开发者寻求更深层次的知

  • 博客(21)
  • 资源 (8)
  • 收藏
  • 关注

原创 Java虚拟机这一块 —— 深入理解java虚拟机(jvm)

jvm深入理解为什么要了解虚拟机虚拟机历史未来的 Java 技术模块化多核并行丰富语法64 位更强的垃圾回收器(现在主流 CMS、G1)JavaSE 体系架构JDKJREJVM运行时数据区域为什么要了解虚拟机JVM 不单单只支持 Java 语言,也支持其他语言(Scala、Kotlin、Groovy 等等) 区块链 2.0–以太坊(比特币是区块链 1.0) 中提供了 EVM 的虚拟机,它的实现...

2020-04-30 23:59:16 861

原创 JAVA常见并发面试题

JAVA常见并发面试题谈面试常见面试题在 java 中守护线程和用户线程的区别?两者的区别:线程与进程的区别什么是多线程中的上下文切换死锁与活锁的区别,死锁与饥饿的区别?产生死锁的必要条件synchronized 底层实现原理什么是线程组,为什么在 Java 中不推荐使用?什么是 Executors 框架?为什么使用 Executor 框架?在 Java 中 Executor 和 Executor...

2020-04-27 21:03:40 212

原创 高性能队列——Disruptor

Disruptor应用背景和介绍传统队列问题高性能的原理应用背景和介绍Disruptor 是英国外汇交易公司 LMAX 开发的一个高性能队列,研发的初衷是 解决内部的内存队列的延迟问题,而不是分布式队列。基于 Disruptor 开发的系 统单线程能支撑每秒 600 万订单,2010 年在 QCon 演讲后,获得了业界关注。据目前资料显示:应用 Disruptor 的知名项目有如下的一些:...

2020-04-26 22:35:39 427

原创 Lambda 速成

文章目录第 一 步第 二 步第 三 步Lambda函数描述符现在我们有一个实体类,我们会对这个实体类进行操作/** * 类说明:实体类 */public class Circle { private int radius; private String color; private int x; private int y; public int...

2020-04-26 22:07:02 169

原创 CompletableFuture

文章目录官方文档Future的不足CompletableFuture创 建工厂方法:获得结果的方法get和join方法的区别辅助方法总结 CompletableFuture 几个关键点:CompletableFuture 里大约有五十种方法,但是可以进行归类变换类 thenApply消费类 thenAccept执行操作类 thenRun结合转化类结合转化类结合消费类运行后执行类取最快转换类取最快消...

2020-04-26 21:33:36 523

原创 MySql导入SQL——[ERR] 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'

使用navicate12运行sql文件出错[ERR] 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'从阿里云自带的mysql中导出数据到本地,碰到这个大坑,这个问题小编本人头疼了好长时间报错原因生成转储文件的数据库版本为8.0,要导入sql文件的数据库版本为5.6,因为是高版本导入到低版本,引起1273错误解决方法打开sql文件,将文件中...

2020-04-26 20:48:45 617

原创 Java8引入的一种新的锁机制——StampedLock

StampLockStampedLock是Java8引入的一种新的锁机制,简单的理解,可以认为它是读写 锁的一个改进版本,读写锁虽然分离了读和写的功能,使得读与读之间可以完全并 发,但是读和写之间依然是冲突的,读锁会完全阻塞写锁,它使用的依然是悲观的 锁策略.如果有大量的读线程,他也有可能引起写线程的饥饿。而 StampedLock 则提供了一种乐观的读策略,这种乐观策略的锁非常类似于 无锁的...

2020-04-26 20:42:34 921

原创 JAVA8 最快的原子操作类 ------- LongAdder

LongAdderJDK1.8 时, java.util.concurrent.atomic 包中提供了一个新的原子类: LongAdder。 根据 Oracle 官方文档的介绍,LongAdder 在高并发的场景下会比它的前辈———AtomicLong 具有更好的性能,代价是消耗更多的内存空间。AtomicLong 是利用了底层的 CAS 操作来提供并发性的,调用了 Unsafe 类的 ge...

2020-04-26 19:51:05 512 1

原创 设计模式 --- 工厂方法模式

文章目录介绍定义主要作用解决的问题模式原理UML类图模式组成使用步骤实例讲解实例概况使用步骤优点缺点应用场景总结介绍定义工厂方法模式,又称工厂模式、多态工厂模式和虚拟构造器模式,通过定义工厂父类负责定义创建对象的公共接口,而子类则负责生成具体的对象。主要作用将类的实例化(具体产品的创建)延迟到工厂类的子类(具体工厂)中完成,即由子类来决定应该实例化(创建)哪一个类。解决的问题工厂...

2020-04-21 22:21:42 377

原创 设计模式 --- 简单工厂模式

定义定义一个工厂类,他可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类在简单工厂模式中用于被创建实例的方法通常为静态(static)方法,因此简单工厂模式又被成为静态工厂方法(Static Factory Method)需要什么,只需要传入一个正确的参数,就可以获取所需要的对象,而无需知道其实现过程此模式并不属于23种设计模式,但它却是工厂模式的基础简单工厂模式的...

2020-04-18 23:06:38 155

原创 浅谈Java设计模式六大原则

单一职责原则翻译过来可理解为一个类只负责一项原则简单来说就是一个类只负责一个功能点或者模块,例如平时我们使用的UserController 以及 UserServices,它们仅负责和我们的User相关的业务。里氏代换原则...

2020-04-17 22:38:38 179 2

原创 JAVA 内存模型(java memory model) JMM和底层实现原理

Java 内存模型即 JavaMemoryModel,简称 JMM。JMM 定义了 Java 虚拟机 (JVM)在计算机内存(RAM)中的工作方式。 JVM 是整个计算机虚拟模型,所以 JMM 是隶属于 JVM 的。Java1.5 版本对其进行了重构,现在的 Java 仍沿用了 Java1.5 的版本。Jmm 遇到的问题与现代计算机中遇到的问题是差不多的。

2020-04-15 22:29:46 837

原创 项目中 Entity、VO、DTO的认识和应用

这个对象的区别曾经真是困扰了我好久,在这里分享下,希望能够给大家带来帮助项目中关于Entity、VO、DTO的认识和应用、entity 里的每一个字段,与数据库相对应,vo 里的每一个字段,是和你前台 html 页面相对应,dto 这是用来转换从 entity 到 vo,或者从 vo 到 entity 的中间的东西 。(DTO中拥有的字段应该是entity中或者是vo中的一个子...

2020-04-13 21:54:51 1476 2

原创 Java使用wkhtmltopdf工具 将html 导出PDF

1.安装wkhtmltopdf官网地址:https://wkhtmltopdf.org/根据自己的系统来选择对应的安装包2.下载之后安装,然后将其配置到环境变量中3.测试一下命令:wkhtmltopdf 需要转化为pdf的html地址 导出位置4.JAVA代码使用主要工具类:public class HtmlToPdf { // wkhtmltopdf在系统中的路径 p...

2020-04-13 21:03:03 488

原创 实现一个多线程可查询进度的并发任务执行框架

需求的产生和分析假如有两个项目组,考试组有批量的离线文档要生成,题库组则经常有批量的题目进行排重和根据条件批量修改题目的内容。架构组通过对实际的上线产品进行用户调查,发现这些功能在实际使用时, 用户都反应速度很慢,而且提交任务后,不知道任务的进行情况,做没做?做到 哪一步了?有哪些成功?哪些失败了?都一概不知道。架构组和实际的开发人员沟通,都说因为前端提交任务到 Web 后台 以后,是一次要...

2020-04-10 22:26:55 1286 6

原创 Java并发编程 线程安全下的单例模式

在域上运用延迟初始化占位类模式/** * 在域上运用延迟初始化占位类模式 */public class InstanceLazy { private Integer value; private Integer heavy;//成员变量很耗资源, ; public InstanceLazy(Integer value) { super(); this.value...

2020-04-09 21:23:57 164

原创 架构师是什么?

架构师是什么?在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本, 并制定这个项目的总体架构,指导整个开发团队完成这个计划的那个人,就是架构师。一般是一个项目里的最资深的专业技术人员,可以说架构师首先一定是个 Java 高级开发人员。主要职责主要是架构设计、软件开发,具体来说包括 :确认需求在项目开发过程中,架构师是在需求规格说明书完成后介入的,需求规格说 明书必须得到架...

2020-04-09 20:35:35 1089

原创 Java并发编程 并发安全劲敌 线程死锁 以及线程不安全引发的问题

死锁概念是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信 而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁。举个例子:A 和 B 去按摩洗脚,都想在洗脚的时候,同时顺便做个头部按摩, 13 技师擅长足底按摩,14 擅长头部按摩。这个时候 A 先抢到 14,B 先抢到 13,两个人都想同时洗脚和头部按摩,于 是就互不相让,...

2020-04-07 22:57:19 520 1

原创 Java并发编程 并发安全 线程安全性 保证线程安全的几种方法

什么是线程安全性在《Java 并发编程实战》中,定义如下:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程 将如何交替执行,并且在调用代码中不需要任何额外的同步或者协同,这个类都 能表现出正确的行为,那么就称这个类是线程安全的。线程封闭实现好的并发是一件困难的事情,所以很多时候我们都想躲避并发。避免并 发最简单的方法就是线程封闭。什么是线程封闭呢?就是把对象封装到一...

2020-04-06 20:42:55 2153

原创 JAVA并发编程 并发容器 线程池 Executor 使用以及深入了解

线程池为什么要用线程池?Java 中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行 任务的程序都可以使用线程池。在开发过程中,合理地使用线程池能够带来 3 个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成 的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立 即执行。假设一个服务器完成一项任务所需时间为:T1 创建线程时...

2020-04-03 21:22:32 290

原创 生产者消费者模式思想 阻塞队列 DelayQueue 模拟订单过期功能

DelayQueue是一个支持延时获取元素的无界阻塞队列。队列使用 PriorityQueue 来实现。 队列中的元素必须实现 Delayed接口,在创建元素时可以指定多久才能从队列中 获取当前元素。只有在延迟期满时才能从队列中提取元素。1.将订单推入队列中/** *类说明:将订单推入队列 */public class PutOrder implements Runnable {...

2020-04-01 21:43:03 460 2

go-fastdfs 分布式文件资源安装

go-fastdfs 分布式文件资源安装

2024-09-24

对接智谱AI,支持普通对话模式以及Funcation call 的使用

对接智谱AI,支持普通对话模式以及Funcation call 的使用

2024-06-12

Activiti-5.22、activiti-demo、Activiti-master、stencilset.json

Activiti-5.22、activiti-demo、Activiti-master、stencilset.json

2022-04-04

innosetup-5.6.1.exe 讲运行环境打包的工具

innosetup-5.6.1.exe 讲运行环境打包的工具

2022-02-21

关于jar包转换为exe工具exe4j

关于jar包转换为exe工具exe4j

2022-02-21

redis_windows版本.zip

redis_windows版本

2021-05-25

RedisLinux安装.zip

RedisLinux安装

2021-05-25

springboot集成swagger.zip

springboot集成swagger,使用springboot对swagger进行了简单的整合,并对其样式进行了简单的修改,直接可用,无需做任务修改

2020-04-10

TaskFramework.rar

项目使用springmvc模式 访问路径需手动调整为: http://localhost:8080/taskFramework/controller路径名

2020-04-10

线程休眠辅助工具类,能够按秒休眠以及按毫秒数休眠

线程休眠辅助工具类,能够按秒休眠以及按毫秒数休眠,很简单的代码,对sleep()的方法进行简单的处理,希望能够对大家提供帮助,缩短开发时间

2020-03-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除