Java
im苡仁
联系邮箱:imyiren4@gmail.com
展开
-
重学Java并发编程—如何正确得启动和停止一个线程 最佳实践与源码分析
1. 线程的启动1.1 start()和run()方法调用对比/** * 对比start和run两种启动线程的方式 * @author yiren */public class StartAndRunThread { public static void main(String[] args) { // 直接使用run方法 Runnable ...原创 2020-02-11 13:57:29 · 446 阅读 · 0 评论 -
重学Java并发编程—刨根问底搞懂创建线程到底有几种方法?
Oracle官方文档对创建线程的说明Java SE 8 API文档: https://docs.oracle.com/javase/8/docs/api/请查看java.lang.Thread的类说明文档。将类声明为Thread的子类,并重写run方法。官方原话:There are two ways to create a new thread of execution. ...原创 2020-02-11 13:08:49 · 218 阅读 · 0 评论 -
事务—【02】SpringBoot使用JTA Atomikos实现多数据源事务管理
0. 前置知识0.1 事务的一些基本概念上篇说了事务的一些概念和Spring中的一些接口定义以及单数据源事务的实现具体的自己点下链接看吧https://juejin.im/post/5e17013de51d453cbc4613a30.2 X/OPEN DTP模型全称:X/Open Distributed Transaction Processing Reference Model,...原创 2020-01-11 15:30:47 · 3184 阅读 · 0 评论 -
事务—【01】Spring事务管理介绍以及SpringBoot+Druid+MyBatis单数据源事务管理实现
前置知识简单介绍 详解自行google.事务是什么?事务是一种可靠、一致的方式,访问和操作数据库中的程序单元事务的特性原子性:要么做,要么不做一致性:一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态持久性:持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的。隔离性:不同的事务操作的互相不干扰并发事务的问题脏读:脏读是...原创 2020-01-11 15:28:56 · 829 阅读 · 0 评论 -
JVM—【02】认识JVM的垃圾回收算法与收集器
1. 对象存活判断1.1. 引用计数算法 Reference Counting给对象添加一个引用计数器,每当有一个地方引用它的时候,计数器值就加一;当引用失效时,计数器值就减一;任何时刻计数器为0的对象就是不可能再被使用的。主流的JVM没有选用引用计数算法来管理内存,主要的原因是它很难解决对象之间的相互循环引用的问题。1.2. 可达性分析算法 Reachability Analysi...原创 2019-09-12 16:39:43 · 129 阅读 · 0 评论 -
JVM—【01】认识JVM的内存布局、运行时数据区与对象创建内存分配
1. Java 内存区域1.1. JVM 内存布局 与 运行时数据区1.2. Heap 堆它的唯一目的就是存放对象实例;几乎所有对象实例和数组,分配内存的区域。堆内存区域是线程共享区域,并发编程时需要考虑线程安全问题。可以通过-Xms256M -Xmx1024M 设置堆内存大小。注意: Java程序在运行中,堆空间会不断扩容与减少,会造成系统压力,所以一般设置为同样大...原创 2019-08-11 21:17:58 · 201 阅读 · 0 评论 -
记一次手写简易MVC框架的过程 附源代码
0.环境Java : JDK 1.8IDE : IDEA 2019构建工具 : Gradle1.整体思路1.1 一些点使用DispatcherServlet同一接收请求自定义@Controller、@RequestMapping、@RequestParam注解来实现对应不同URI的方法调用使用反射用HandlerMapping调用对应的方法使用tomcat-embed-co...原创 2019-06-26 13:39:15 · 340 阅读 · 0 评论 -
面试—Java常见面试题(转自gitee)
出处:https://gitee.com/XuanYuanXiaoJian/java_interview_questions/blob/master/%E9%9D%A2%E8%AF%95%E7%9B%B8%E5%85%B3.txt一、Java 基础1.JDK 和 JRE 有什么区别?JDK是java的开发工具包,包含各种类库,并且包含了JRE,javac是在JDK中的;JREjava程序的...转载 2019-05-13 14:12:41 · 1058 阅读 · 0 评论 -
SpringBoot—SpringBoot整合Mybatis使用Druid数据源
本地环境JDK 版本: 1.8.0_202系统: MacOS Mojave 10.14.4工具 IDEA 2019.1.2注意: 解释较少,直接看注释就好,pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmln...原创 2019-05-13 13:43:27 · 393 阅读 · 0 评论 -
Spring Cloud—EureKa服务的注册与发现基本概念和实现
0. 开发环境以及主要依赖System : macOS Mojave 10.14.4JDK : 1.8.0_202Spring Cloud :Greenwich.SR1Spring Boot : 2.1.4.RElEASEIDE : IntelliJ IDEA 2019.1 Ultimate Edition1. Eureka的相关概念1.1 什...原创 2019-04-27 20:18:59 · 498 阅读 · 0 评论 -
设计模式—【02】建造者、代理、适配器、桥接模式
建造者模式 Builder定义建造者模式是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。建造者(Builder)模式的角色:产品角色(Product):它是包含多个组成部件的复杂对象,由具体建造者来创建其各个滅部件。...原创 2019-04-26 16:26:04 · 236 阅读 · 0 评论 -
设计模式—【01】单例、原型、工厂方法、抽象工厂模式
环境Java:1.8.0_202-b08dependency:lombok 1.18.6Guava 27.0.1-jreslf4j-log4j12 1.7.25Github Repositories: https://github.com/ilssio/design-pattern1. 单例模式a). 定义:Java中单例模式定义:“一个类有且仅有一个实例,并且自行实例化...原创 2019-04-12 17:33:19 · 256 阅读 · 0 评论 -
Java基础—break label 带标签的break语句的用法。
是这样的,今天看RocketMQ的Client的时候,里面出现了一个写Java没有看到过的东西 - - 记录一下。也是就是带标签的break;RocketMQ的Client中的使用while(true) { label122: { switch(communicationMode) { ...原创 2019-03-10 14:12:54 · 11226 阅读 · 2 评论 -
Java反射—Array类使用
有关Java反射的另外的文章:https://blog.csdn.net/ilo114/article/category/8633303不用说大家也知道java.lang.Array是对Java反射包中数组操作的一个类。JavaSE8的文档中对Array的描述是这样说的:The Array class provides static methods to dynamically create ...原创 2019-01-30 00:45:42 · 324 阅读 · 0 评论 -
源码分享—《Java多线程编程核心技术》源码,Java多线程编程核心技术源码 略微有改动。
java-multi-thread-ilssGithub地址:https://github.com/ilssio/java-multi-thread-ilss《Java多线程编程核心技术》书上案例代码基本和书上是一样的。每一部分都是按照书上说 创建什么项目 就直接用做包最后一层的名字,全部小写,中间加下划线。java不推荐包名大小写混用。part几就是第几章,第一章没有,自己过一遍就好了...原创 2020-01-14 12:46:37 · 1766 阅读 · 3 评论 -
Java反射—Field类使用
Java反射-Field类使用Field作为反射中对应类或对象中的域或者叫做属性的操作类,除了我前一篇文章中的得到名字和类型等,Field的作用不限于此。*上篇文章:Java反射-初探反射基础)(点击进入) *Java SE 8的Docs这样说:A Field provides information about, and dynamic access to, a single field ...原创 2019-01-26 22:08:16 · 744 阅读 · 1 评论 -
Java反射—初探反射基础
Github:https://github.com/ilssio/java-base-ilss1. 认识Class类Java在运行的时候,会为对象维护一个运行时的类型标识,虚拟机运行Java程序的时候用它来选择相应类的方法执行。Java可以通过一个特定的类来访问这些类信息,这个类就是Class。获取Class的几种方式 Integer integer = 100; ...原创 2019-01-24 22:41:08 · 201 阅读 · 0 评论 -
Java泛型—泛型简单的使用
前言Java里面的泛型在实际开发中运用的很多,学过C++的同学一定知道C++的模板,而Java中的泛型,一定程度上和它还是挺像的。相信写Java的人,大都有用过List的实现类ArrayList。在Java没有泛型之前,它的内部是一个Object的数组实现的。这也导致一个问题,每次使用里面的元素的时候需要向下转型,而且很明显,如果是Object的话,意味着我们可以丢任何对象进去。自动转...原创 2019-01-24 20:02:48 · 229 阅读 · 0 评论