12 2019 档案
摘要:导入不同的包结果完全不一样 Spring 的 BeanUtils (推荐使用) 前一个内容 复制到 后一个 Apache 的 BeanUtils (性能差 不推荐使用) 后一个内容 复制到 前一个 public class Student { /** 学号 */ private long id; p
阅读全文
摘要:使用场景 在项目中,后端查询数据库返回的字段需要过滤传给前端,或者只需要一部分字段 方法一 new newVO,DTO类,实体类来解决 (太老土的做法) 方法二 使用transient关键字 (密码,和身份证号字段多使用) 把需要过滤掉字段使用transient关键字修饰,这样在调用JSON的toS
阅读全文
摘要:public class Student { /** 学号 */ private long id; private String name; private int age; /** 年级 */ private int grade; /** 专业 */ private String major; /
阅读全文
摘要:>七大参数 在java中 ThreadPoolExecutor 是线程池类,这也是我们通常所说的线程池 下图是ThreadPoolExecutor构造方法 最后一个是全参数构造 里面有七大参数 corePoolSize 核心线程数量 maximumPoolSize 最大线程数 默认策略是超出会抛出异
阅读全文
摘要://对于前后端分离的项目而言,无法直接从前端静态代码中测试接口的正确性,因此可以通过MockMVC来模拟HTTP请求@RunWith(SpringRunner.class) //public final class SpringRunner extends SpringJUnit4ClassRunn
阅读全文
摘要:Future 是一个接口 表示异步计算的结果。它提供了检查计算是否完成的方法 和 等待计算的完成,并获取计算的结果的方法。 Future的主要方法 get(); 等待任务中计算完成 并抛出了异常 获得结果 isDone(); 查询任务是否完成 下面的例子中submit执行了一个Callable类型的
阅读全文
摘要:参考链接: https://www.cnblogs.com/qing-gee/p/12090216.html https://www.iteye.com/blog/wallimn-332947 https://zhidao.baidu.com/question/2208438210718855348
阅读全文
摘要:在Executor接口中只定义了execute方法,而submit方法则是在ExecutorService接口中定义的。 execute没有返回值,而submit有返回值。 转自: https://www.cnblogs.com/CarpenterLee/p/9558026.html
阅读全文
摘要:工作窃取(work-stealing)算法是指某个线程从其他队列里窃取任务来执行 为什么ForkJoin会存在工作窃取呢?因为我们将任务进行分解成多个子任务的时候。每个子任务的处理时间都不一样。例如分别有子任务A\B。如果子任务A的1ms的时候已经执行,子任务B还在执行。那么如果我们子任务A的线程等
阅读全文
摘要:package com.wf.zhang.juc; import java.util.Random; import java.util.concurrent.*; /** * 三、工具类 : Executors * *** ScheduledExecutorService newScheduledT
阅读全文
摘要:线程池的体系 (1)Executor,线程池顶级接口; (2)ExecutorService,线程池次级接口,对Executor做了一些扩展,增加一些功能; (3)ScheduledExecutorService,对ExecutorService做了一些扩展,增加一些定时任务相关的功能; (4)Ab
阅读全文
摘要:使用线程池的目的: * 线程是稀缺资源,不能频繁的创建。 * 解耦作用;线程的创建于执行完全分开,方便维护。 * 应当将其放入一个池子中,可以给其他任务进行复用。 例1 结果 例2 结果 package com.wf.zhang.juc; import java.util.ArrayList; im
阅读全文
摘要:package com.wf.zhang.juc; /* * 题目:判断打印的 "one" or "two" ? * * 1. 两个普通同步方法,两个线程,标准打印, 打印? //one two * 2. 新增 Thread.sleep() 给 getOne() ,打印? //one two * 3
阅读全文
摘要:ReadWriteLock同Lock一样也是一个接口,提供了readLock和writeLock两种锁的操作机制,一个是只读的锁,一个是写锁 互斥原则: 读-读能共存, 读-写不能共存, 写-写不能共存。 package com.wf.zhang.juc; import java.util.conc
阅读全文
摘要:package com.wf.zhang.juc; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.Reent
阅读全文
摘要:在 Condition 对象中,与 wait、notify 和 notifyAll 方法对应的分别是 await、signal 和 signalAll。 Condition 实例实质上被绑定到一个锁上。 要为特定 Lock 实例获得 Condition 实例,请使用其 newCondition()
阅读全文
摘要:解决多线程安全的方式 synchronized 隐式锁 1.同步代码块 2.同步方法 3.lock 同步锁 显式锁 lock()方法上锁 unlock() 释放锁 package com.wf.zhang.juc; import java.util.concurrent.locks.Lock; im
阅读全文
摘要:创建线程的方式 不能有返回值,且不能声明抛出异常 1. 继承Thread 类 重写Thread类的run()方法 线程不共享资源 2. 实现Runnable接口 重写Runnable接口 run()方法 线程共享资源 有返回值,且可以声明抛出异常 3. 实行Callable接口 重写call()方法
阅读全文
摘要:CountDownLatch 闭锁 同步辅助类 一组操作中,多个线程完成, 闭锁会允许一个或多个线程一直等待. 即 所有线程都完成才继续执行 主要方法 CountDownLatch.await(); //等待所有线程(倒计时器) 完成 CountDownLatch.countDown(); //倒计
阅读全文
摘要:package com.wf.zhang.juc; /* * 模拟 CAS 算法 */ public class TestCompareAndSwap { public static void main(String[] args) { final CompareAndSwap cas = new
阅读全文
摘要:作者:C.L. Moffatt http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins 7种 join 用法 1.INNER JOIN(内连接) SELECT <select_list> FROM Ta
阅读全文
摘要:1.表示当前实现继续运行直到下一个断点,快捷键为F8。 2.表示打断整个进程 3.表示进入当前方法,快捷键为F5。 4.表示运行下一行代码,快捷键为F6。 5.表示退出当前方法,返回到调用层,快捷键为F7。 6.表示当前线程的堆栈,从中可以看出在运行哪些代码,并且整个调用过程,以及代码行号 按 Sh
阅读全文
摘要:转载 https://www.cnblogs.com/songxiaotong/p/10852615.html public class ScopeJudgmentUtil { /** * 地球半径 */ private static double EARTH_RADIUS = 6378138.0;
阅读全文
摘要:下载地址 https://licecap.en.softonic.com/ LICEcap捕捉屏幕的区域并保存为gif动画或lcf格式 效果请看下面的链接 https://www.cnblogs.com/wf-zhang/p/12006600.html LICEcap支持导出 GIF 动画图片格式,
阅读全文
摘要:数据库表里面存在text或者blob字段。逆向工程自动生成的MyBatis的xml中会多出几个以withBlobs结尾的方法和resultMap 此时查询数据或者更新数据的使用仍然使用selectByPrimaryKey或者updateByPrimaryKey,得到的text或者blob数据是nul
阅读全文
摘要:什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。 小总结 类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,
阅读全文
摘要:导入jar 包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.ap
阅读全文
摘要:代码参考 https://www.cnblogs.com/bmbm/archive/2011/12/08/2342261.html 效果 导入jar包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId
阅读全文
摘要://设置文件属性的PDF package com.wf.zhang.test; import java.io.FileOutputStream; import com.itextpdf.text.BaseColor; import com.itextpdf.text.Document; import
阅读全文
摘要:参考代码和图片出处 https://howtodoinjava.com/library/read-generate-pdf-java-itext/ pom引入jar包 <dependencies> <dependency> <groupId>com.itextpdf</groupId> <artif
阅读全文
摘要:动态建模 时序图 协作图 状态图 活动图 时序图 展示按照时间顺序多个对象交互的信息 startUML中 时序图 Sequence Diagram
阅读全文
摘要:startUML中 类图 Class Diagram 类图 展示类信息类关系
阅读全文
摘要:UML 统一建模语言 图形化表示 帮助开发人员 在OOAD过程中 标识元素 构建模块 分析过程 静态建模 用例图 类图 对象图 组件图 部署图 startUML中用例图 Use Case Diagram 用例图 展示用户与系统的交互
阅读全文
摘要:OOAD 面向对象的分析与设计 OOA 分析阶段(针对业务问题清晰视图, 列出系统完成任务, 整理业务的公共词汇, 列出解决业务的解决方法) OOD 解决业务的具体实现(技术选型,架构搭建,第三方组件调用) OO 面向对象 一种系统建模技术 对象 客观存在 唯一的实体 是面向对象编程过程中分析与解决
阅读全文
摘要:为学一首示子侄 【作者】彭端淑 【朝代】清 天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。吾资之昏,不逮人也,吾材之庸,不逮人也;旦旦而学之,久而不怠焉,迄乎成,而亦不知其昏与庸也。吾资之聪,倍人也,吾材之敏,倍人也;屏弃而不用,其
阅读全文
摘要:UML工具-StarUML 下载地址 http://staruml.io/ 破解方法 下载 链接:https://pan.baidu.com/s/1wDMKDQkKrE9D1c0YeXz0xg 密码:y65m 然后参照下图, 替换掉你自己StarUML安装目录中的app.asar文件即可。 替换完成
阅读全文
摘要:public class Test { public static void main(String[] args) { LocalDate ld = LocalDate.of(2018, 6, 6); LocalDate ld2 = LocalDate.now(); Period period =
阅读全文
摘要:addAll 添加另一集合里面的元素 add 添加整个集合包括 [] Stream 操作 合并两个lis 出自http://www.it1352.com/963663.html 1 public class Test { 2 public static void main(String[] args
阅读全文
摘要:下载地址 http://java-decompiler.github.io/ 一般使用windows 版本 看你使用的操作系统了 解压 点击exe 进入 选择你编译后的class 文件 一般在target下classes文件夹下 重新编译成java 就是原来写的代码 jar文件也可以反编译
阅读全文
摘要:tinyint存储0的奇怪问题 数据库TINYINT类型 参数0 mybatis取不到值 postman 传参 audited =0 audited =1 两种情况 Mybatis xml debug 打印出来的sql 因为当为0传入的时候mybatis 默认的int的类型数据0为flase的所以i
阅读全文
摘要:JDK的bin目录下有很多用于监视虚拟机和故障处理的工具,这些工具都非常稳定而且功能强大,能在处理应用程序性能问题、定位故障是发挥很大的作用。比较细心的读者可能会注意到这些工具的程序体积都异常小巧。并非JDK开发团队刻意把它们制作得如此精炼来炫耀编程水平,而是因为这些命令行工具大多是jdk/lib/
阅读全文
摘要:三如何垃圾回收 GC(Garbage Collection)垃圾回收算法 标记清除 速度快,但是会产生内存碎片; 标记整理 解决了标记清除内存碎片的问题,但是每次都得移动对象,因此成本很高; 复制算法 没有内存碎片也不需要移动对象,但是导致空间的浪费 分代收集算法:在上边三种收集思想中加入了分代的思
阅读全文
摘要:JAVA 四中引用类型 1. 强引用 在 Java 中最常见的就是强引用,把一个对象赋给一个引用变量,这个引用变量就是一个强引用。 当一个对象被强引用变量引用时,它处于可达状态,不可能被垃圾回收机制回收的。强引用是造成 Java 内存泄漏的主要原因之一。 2. 软引用 软引用需要用 SoftRefe
阅读全文
摘要:GC(Garbage Collection) 垃圾回收机制 什么是垃圾回收机制 垃圾回收是一种动态存储管理技术,它自动地释放不再被程序引用的对象,按照特定的垃圾收集算法来实现资源自动回收的功能。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用,以免造成内存泄露。 内存中已
阅读全文
摘要:什么是堆内存划分 Java虚拟机根据对象存活的周期不同,把堆内存划分为几块, 一般分为新生代、老年代和永久代,这就是JVM的内存分代策略。(JDK 1.8之后将最初的永久代取消了,由元空间取代) 为什么要分代? 堆内存是虚拟机管理的内存中最大的一块,也是垃圾回收最频繁的一块区域,我们程序所有的对象实
阅读全文
摘要:JVM内存结构可以大致可划分为线程私有区域和共享区域, 线程私有区域由虚拟机栈、本地方法栈、程序计数器组成,而共享区域由堆、元数据空间(方法区)组成。 虚拟机栈/本地方法栈 当你碰到过StackOverflowException这个异常的时候,有没有思考下为什么会出现这样的异常呢?答案就在虚拟机栈中
阅读全文

浙公网安备 33010602011771号