
Java
文章平均质量分 90
Mr. Dreamer Z
没有什么一蹴而就的事情,坚持 坚持 再坚持
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
(2021.9.25)面向切面编程简述
说到面向切面编程,想必大家都不会陌生。不就是AOP——Aspect Orient Programming但是说了那么久,你所理解的面向切面编程,用一句话概括到底是什么呢?1.什么是AOP(面向切面编程)在我的理解来说:在运行时,动态的 将代码切入到 类的 指定方法。 这种编程思想就成为面向切面编程来举个例子吧,你写了A方法之后,老板想让你看看这段代码的执行时间。ok,那你就在A方法的前后加上代码,查看时间。。。过了几天,你又完成了B方法之后,老板又想让看你记录这段代码的日志...原创 2021-09-25 20:31:37 · 2918 阅读 · 0 评论 -
(2021-02-09)JMM-java内存模型详解
JMM(java内存模型)是你想要的了解多线程入门的一个必备知识,很多人新手都会把JVM和JMM搞混淆。在这先提出一点,JVM和JMM是两个不同的概念JVM是java虚拟机,是一个真实存在的“实体”。JMM(Java内存模型(即Java Memory Model,简称JMM))本身是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量。网上有很多帖子都说JVM和JMM是有关联性的。但是在我看来JMM中的主内存,工作内存和JVM中的java堆,栈以及方法区.原创 2021-02-09 10:05:42 · 422 阅读 · 6 评论 -
(2021-02-04)并发编程简介-并发编程(1)
关于并发编程,不光是面试经常问到,在实际的操作过程中,也会经常用到。所以一来是为了加深自己的印象,二来也希望能和大家公共学习。不对的地方请斧正,谢谢!1、程序、进程、线程的关联和区别?这是个老生常谈的问题了。很多公司的笔试题都会考这个问题,下面来简单分析下程序:程序是什么,举个例子,你经常玩的吃鸡、LOL就是程序(含有指令与数据的文件)进程:先说概念,进程就是程序运行资源分配的最小单位。你双击运行程序,就会产生一个进程。线程:概念:CPU调度的最小单位,存在于进程当中。你运行的游戏中就会原创 2021-02-04 20:54:07 · 1207 阅读 · 7 评论 -
关于AQS详解
这段时间自己学了下并发编程,然后发现提供的并发工具全部都和AQS有关。无论是Lock还是信号量,计数器等,都逃不过与AQS的联系。写这篇博客的初衷其实是自己想写一些并发工具类的文章,包括countdownlatch或者信号量之类的,但是它们底层都涉及到了AQS,所以先写这个AQS,一来是为了让自己更深刻的理解,二来是让大家阅读的时候有个参考。话不多说,开始今天的AQSAQS(AbstractQueuedSynchronizer)抽象的队列同步器。简单来说AQS就是一个用来构建锁或者其他同步组件的一个框架原创 2021-01-25 10:13:15 · 616 阅读 · 0 评论 -
并发编程工具类—— CountdownLatch(计数器)
最近学了并发编程,想谈谈自己的一些理解。一来是为了加深自己的印象,二来也希望能和大家公共学习。不对的地方请斧正,谢谢!之前说了TheadLocal,现在来讲一下CountdownLatch。说起CountdownLatch就不得不说AQS,但是我不想专门的去讲AQS,因为我感觉从用了AQS的工具上来深入,可以更好的帮助我理解两者。在这之前,我们先来大概的了解下什么是AQS(Abstract...原创 2020-05-07 12:06:20 · 469 阅读 · 0 评论 -
关于多线程生成Excel文件并压缩成ZIP(输入输出流形式非file创建)
这几天因为创建Excel的性能问题,头疼了几天。先说下我的需求:根据场次导出Excel,有多少个场次就有多少个sheet页。根据工具调试,发现创建WorkBook和Sheet真的很耗时,差不多要大约两秒的时间,所以想用多线程去操作。但是创建sheet的方法底层并没有做加锁处理,导致它每次创建都会去读当前的sheet总数,所以无法放到多线程中。由于这边的场次量很多,数据量也很大,和产品商量讨论之...原创 2020-04-05 19:52:42 · 1179 阅读 · 1 评论 -
浅谈多线程并发以及一些简单的demo
差不多做了一段时间的java开发了,然后其实项目上高并发用到的并不多。就只有自己来学习一下了,网上搜了下资料,然后自己总结了一下。下面开始正题。现目前许多项目都会涉及到高并发的问题,先来说下线程和进程。进程:操作系统中正在运行的程序。线程:是进程中的一个执行流程;用一句话来说,解决高并发问题,就是解决多线程对某个资源的有序访问和修改。避免脏读,幻读等。通常来说数据库也可以解决这类...原创 2020-04-29 12:49:34 · 700 阅读 · 0 评论 -
通用分页查询接收实体类
import lombok.Data;import javax.validation.constraints.Min;import java.util.HashMap;import java.util.Map;@Datapublic class PageQueryDTO { /** * 目标页 **/ @Min(value = 1,mess...原创 2019-08-16 10:03:36 · 681 阅读 · 0 评论 -
关于java对比数据以及后续数据库操作(1)
这段时间做了一个数据对比的功能模块。具体操作是从申请人修改自己的数据然后提交数据进行多次审批,如果审批完成那么则更新对应的数据。再此中间,审批人可以对申请人的信息进行编辑。 先说一下思路吧,这是表结构 通过进行修改数据与数据库数据进行比较,如果有改变那么进插入数据。每修改一个字段的数据则插入一条数据。applicationMainId是对应的申请主表Id,这里将不对流程操作进行解...原创 2019-07-05 11:06:39 · 1954 阅读 · 0 评论 -
关于IDEA使用maven整合ssm框架
工作到现在一直在用分布式,spring boot来搭建项目是非常方便而且快捷的。但是现在很多公司都很少使用分布式去进行开发,所以复习了一下ssm的搭建。废话不多说,下面进入正题。 1.创建maven项目点击next填写包名以及项目名,之后会生成maven项目。2.搭建基本项目架构然后点击src,在src下创建test文件夹(用于存放单元测试类),然后在m...原创 2018-09-07 14:51:54 · 3717 阅读 · 4 评论 -
关于java多态的理解
大家面试的时候经常会遇到关于多态类型的题目,我也是之前对这块很模糊,然后这几天才拿出时间来好生学习了一下。多态真的是博大精深啊,这是我看到的一篇帖子,讲的非常好,希望给大家一点帮助。建议大家多看几次,然后把代码粘下来去亲自试一下。 看到一个很好的例子:public class Wine { public void fun1(){ System.out.prin...转载 2018-10-17 11:26:05 · 200 阅读 · 0 评论 -
简单阐述一下java中的堆和栈
我们平时在运行java程序时会在内存中划分出5个空间进行数据的存储:堆,栈,方法区,本地方法区,寄存器。在这里我们主要简单的阐述一下堆和栈,其余的如果有空的话会进行讲解。ok,现在我们需要知道一下什么是堆,什么是栈?简单的来说,网上有很多对堆栈的理解。很多都是千篇一律的解释,在这里不详细做讲解。对我而言,堆栈就是为了存放“数据”而产生的空间。1.栈:用来存放 基本数据类...转载 2018-11-14 16:26:06 · 381 阅读 · 0 评论 -
关于springcloud使用shiro的权限控制
之前我在网上找了很久的使用基于springcloud用shiro来作为权限控制。但是都没有一个好的demo,所以自己查了资料然后问了一些人,写了一个简单的demo。好了,话不多少直接进入正题由于是使用springcloud,那么关于springcloud的一些知识我在这就不一一去讲了。直接讲一些shiro关键的地方。不懂的朋友可以去看看这位大牛写的帖子https://www.fangzhipe...原创 2018-12-26 15:45:49 · 6123 阅读 · 9 评论 -
关于springboot集成activiti6.0
自学了一段时间的activiti,发现网上有很多的demo都用不起。找了很多,都比较失望。所以今天自己写一个简单的基于springboot的activiti项目。ok,开始首先,我们需要先创建一个springboot项目。下面这个pom依赖。<dependency> <groupId>org.springframework.boot</group...原创 2019-02-28 11:13:59 · 421 阅读 · 0 评论 -
关于springboot 异步执行某个方法
之前项目里面需要异步去操作文本格式转成PDF文件,所以在网上搜索了一下。现在总结一下,加深自己的印象。首先在启动类中加入@EnableAsync注解(重要的一步)@EnableAsync //开启异步注解@SpringBootApplicationpublic class TestTaskApplication { public static void main(Str...原创 2019-04-22 17:24:21 · 573 阅读 · 0 评论 -
关于java预览pdf
之前在项目中做了一个转pdf格式的需求,网上查了一些资料把完成了。用的是工具转换,今天主要说一些在线预览pdf的java代码的书写,如果需要了解工具的话可以留言,有时间我会把对应的代码整理出来。不多说,直接上代码。这个是通过文件的对应路径filePath 来进行访问的@RequestMapping("/read/{fileName}")public void readFile(Ht...原创 2019-05-05 16:26:45 · 517 阅读 · 0 评论 -
关于springboot自定义权限配置操作
之前做了一个项目,在做这个项目之前自己在网上买了关于权限的教程,springsecurity,shiro等。学完了才发现,这两个权限框架各有千秋,但是如果你想自己的项目能够完全适用还是自己写一个自定义权限模块比较好。千万别粘贴代码,千万别粘贴代码,千万别粘贴代码 重要的事情说三遍!!!这里只是提供一个参考的思路!OK首先,我们先新建一个springboot项目,这里就不多做示范了。...原创 2019-05-10 14:27:15 · 856 阅读 · 0 评论 -
JAVA基础(数组(1))
声明:本人也是刚开始学Java不久,所以有什么不足之处,或者是有一些知识点上的误区请大家帮忙指点出来。谢谢了!我在学数组这一章的时候有一些知识误区,所以今天想把自己总结的一些觉得比较重要东西写出来,以免初学者遇到同样的问题。-------------------------------数组,顾名思义,就是一组数据。并且是相同类型的一组数据。比如int,char等等一系列类型相同的数据组成。数组原创 2016-12-05 13:44:13 · 301 阅读 · 0 评论