java基础
文章平均质量分 92
java类的加载销毁及生命周期
一页知秋否
男人就不应该生活的太安逸
展开
-
String之StringBuffer、StringBuilder、String对比说明
1. 简述关于StringBuffer、StringBuilder、String算是老生常谈的问题,今天抽空整理下部分细节。先大概看下类图,StringBuilder和StringBuilder的继承是完全一致的,当然String本身也是实现Serializable和CharSequence接口的,三者类都是由final修饰的也就是具备final修饰的特性不能被继承。2. 三者拼接字符串的操作实现String的拼接很简单直接加号操作即可,这样就会创建的新的String对象分配内存空间。大量的原创 2020-12-17 11:25:59 · 196 阅读 · 0 评论 -
Java8之集合stream操作合集
优雅的将一个对象的集合转化成另一个对象的集合List<OrderDetail> orderDetailList = orderDetailService.listOrderDetails();List<CartDTO> cartDTOList = orderDetailList.stream() .map(e -> new CartDTO(e.getProductId(), e.getProductQuantity()))转载 2020-12-03 16:31:41 · 2364 阅读 · 0 评论 -
java之java类的生命周期简述
概述 Java对象我们都很熟悉,上来一顿操作猛如虎new 一个。但是说实话真要是说说类的创建过程及这个类的生命周期之类更深些的东西。估计回答起来就不是太顺畅了,当然个人感觉啊,大牛勿喷。下面咱们就聊聊java类的生命周期是如何运转的。 当编写完一个java的文件后,经过编译会生成一个后缀名为.class的文件(字节码文件),这种字节码文件是需要在java虚拟机中运行的。java类的生命周期就是指一个 .class文件从加载到卸载的全过程。一个java类的完整的生命周...原创 2020-07-22 16:51:02 · 1922 阅读 · 0 评论 -
spring事务管理之踩坑一
先来说下该博文的创作背景,要从一道经典的面试(网传是)说起下面贴上源码 @Autowired ITestMapper testMapper; public void parent(){ child(); User user = new User(); user.setName("lgh").setMobile(...原创 2020-03-31 11:26:39 · 301 阅读 · 0 评论 -
spring事务管理之详解
事务传播行为: @Transactional(propagation=Propagation.REQUIRED) :如果有事务,那么加入事务,没有的话新建一个(默认情况下); @Transactional(propagation=Propagation.NOT_SUPPORTED) :不开启事务; @Transactional(propagation=Propagation.REQ...原创 2020-03-31 10:43:09 · 176 阅读 · 0 评论 -
Java项目全局缓存实现方案
废话不多说直接上代码,缓存实现的接口:缓存实体:public class CacheManagerEntity { /** * 保存的数据 */ private Object datas; /** * 设置数据失效时间,为0表示永不失效 */ private long timeOut; /** ...原创 2019-04-15 16:46:16 · 8328 阅读 · 12 评论 -
java四种对象引用类型
对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。(1)强引用(StrongReference)强引用...原创 2019-03-05 15:06:24 · 224 阅读 · 0 评论 -
Java反射获取JavaBean的属性值或者设置属性值
import java.lang.reflect.Field;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/** * 反射处理Bean,得到里面的属性值 * * @author liulinsen * */public cla...原创 2018-11-23 14:45:39 · 10114 阅读 · 0 评论 -
Java之开发过程中注意事项及代码性能优化干货
代码优化最重要的作用应该是避免未知的错误,因此在写代码的时候,从源头开始注意各种细节,权衡并使用最优的选择,将会很大程度上避免出现未知的错误,从长远看也极大的降低了工作量。所以说代码优化的目标是减小代码体积、提高代码运行效率。优化是无止境的,本文也只给出整理的一些常见优化建议。(1)尽量指定类、方法的 final 修饰符。带有 final 修饰符的类是不可派生的。在 Java 核心 API 中...原创 2018-10-25 08:59:23 · 417 阅读 · 2 评论 -
2018年线程、多线程面试问题总结
1) 什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对 运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的支 持,它也是一个很好的卖点。2) 线程和进程有什么区别?线程是进程的子集,一个进程可以有很多线程,每...原创 2018-06-25 14:56:53 · 333 阅读 · 0 评论 -
IO学习之深入理解NIO
初识NIO:在 JDK 1. 4 中新加入了 NIO( New Input/ Output)类,引入了一种基于通道和缓冲区的 I/O 方式,它可以使用 Native 函数库直接分配堆外内存,然后通过一个存储在 Java 堆的 DirectByteBuffer 对象作为这块内存的引用进行操作,避免了在 Java 堆和 Native 堆中来回复制数据。 NIO 是一种同...转载 2018-06-21 15:00:02 · 532 阅读 · 0 评论 -
HashMap 和 ConcurrentHashMap 全解析
原文出处: JavaDoop今天发一篇”水文”,可能很多读者都会表示不理解,不过我想把它作为并发序列文章中不可缺少的一块来介绍。本来以为花不了多少时间的,过最终还是投入了挺多时间来完成这篇文章的。网上关于 HashMap 和 ConcurrentHashMap 的文章确实不少,不过缺斤少两的文章比较多,所以才想自己也写一篇,把细节说清楚说透,尤其像 Java8 中的 ConcurrentHashM...转载 2018-05-10 10:24:13 · 1164 阅读 · 4 评论 -
java之类中父类子类静态代码块,构造方法等先后执行顺序
JAVA中父类与子类静态代码块、非静态代码块、构造函数的加载顺序为:父类静态代码块>子类静态代码块>父类非静态代码块>父类构造函数>子类非静态代码块>子类构造函数。而对于多个静态代码块,它们加载顺序是按照文件中的先后位置进行加载,非静态代码块相同。原创 2017-08-21 11:42:51 · 673 阅读 · 0 评论 -
线程、多线程之面试问题总结
1.线程和进程的区别?答:进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程原创 2017-09-04 14:47:30 · 374 阅读 · 0 评论