Java基础
innerpeacez
小白养成计划
展开
-
Java中的静态分派和动态分派
Java中的分派首先需要理解一下静态类型和动态类型。找了很多资料,没有在java的书中找到关于这两种类型的具体定义,但是在C++的书中找到了下面的定义,这可能就是java被称为是 C++- 的原因之一吧。:)静态类型与动态类型静态类型:不需要考虑表达式执行期的语义,仅从表达式的字面的形式就能够决定的类型,在编译期确定的变量类型,并且在运行期不会改变。动态类型:由一个左值表达...原创 2018-04-08 22:08:48 · 304 阅读 · 0 评论 -
JAVA synchronized同步块
Java 中同步关键字(synchronized)Java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码。当两个并发线程访问同一个对象object中的这个加锁同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。然而,当一个线程访问object的一个加锁代码块时...原创 2019-03-10 17:03:02 · 558 阅读 · 0 评论 -
常用Json工具类
引入对应依赖<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version></dependency>&am原创 2018-12-24 14:51:42 · 274 阅读 · 0 评论 -
Maven 基础知识
Maven生命周期CleanLifecycle:在构建之前完成清理DefaulLifecycle:构建核心部分,包括:编译,测试,打包,部署等SiteLifecycle:生成项目报告,站点,发布站点注意:不同的生命周期是相互独立的。可以独立完成。CleanLifecycle生命周期clean生命周期的各个阶段:Clean生命周期pre-clean执行一些需...原创 2018-12-23 14:06:09 · 204 阅读 · 0 评论 -
JGit 工具类
引入依赖<dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> <version>5.2.0.201812061821-r</version> <原创 2018-12-26 14:56:59 · 1559 阅读 · 1 评论 -
Maven镜像仓库
阿里-Maven镜像仓库<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf&原创 2018-12-19 18:06:02 · 804 阅读 · 2 评论 -
Cookie 工具类
Cookie 工具类package com.df.dkcs.diversion.core.uitls;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.Uns...原创 2018-11-23 10:00:35 · 180 阅读 · 0 评论 -
Java 8 时间工具类
Java 8 新的时间工具类package com.df.dkcs.diversion.core.uitls;import java.time.LocalDateTime;import java.time.ZoneId;import java.util.Date;/** * @author: zhaihongwei * @date: 2018/8/9 17:42 * @Desc...原创 2018-11-23 09:56:50 · 461 阅读 · 0 评论 -
Vector源码分析(jdk1.8)
简介:通过阅读源码发现Vector和ArrayList基本上是很相似的,只是Vector的增删改查方法上都加了synchronized关键字,所以是线程安全的,但是直接通过synchronized同步机制实现的线程安全会导致效率很低,所以基本上Vector很少被使用,下面就是Vector的增删改查方法和一起辅助方法的源码分析。本来是不打算看这个源码的,想想还是看一下吧,雨露均沾是不是:)成...原创 2018-07-30 19:55:12 · 339 阅读 · 0 评论 -
LinkedList源码分析(jdk1.8)
简介:之前没有看过关于链表的源码,习惯了数据结构,刚刚看的时候感觉还有点不适应,但是越看越有意思,哈哈。和ArrayList一样,无非是一些增删改查的功能实现,接下来还是围绕这些分析。成员变量首先还是一些成员变量,链表重要的成员变量还是比较少的。 /** * 链表的长度 */ transient int size = 0; /** ...原创 2018-07-26 21:18:25 · 186 阅读 · 0 评论 -
ArrayList源码分析(jdk1.8)
简介:在阅读1.8的源码之前有看过一遍1.7的,所以比较熟悉,但是有很多地方已经遗忘了,所以就又看了一下。ArrayList的源码相对是比较简单的,1.8之后使用了懒加载的机制进行数组初始化,但是无非还是增删改查这些功能的实现。接下来就是围绕这些功能的源码解析。成员变量首先是一些成员变量 /** * 序列号 */ private static ...原创 2018-07-25 14:32:52 · 243 阅读 · 0 评论 -
Java8 新特性学习
1、接口中的默认方法Java8中允许接口中包含具有具体实现的方法,这种方法被称为“默认方法”,使用default关键字修饰。 如:public interface MyInterface { String notDefault(); default String testDefault() { return "Hello Default Metho...原创 2018-06-05 18:32:23 · 5255 阅读 · 3 评论 -
Integer.parseInt(String s) 和 Integer.valueOf(String s) 的区别
parseInt源码: public static int parseInt(String s) throws NumberFormatException { return parseInt(s,10); } public static int parseInt(String s, int radix) throws ...原创 2018-01-03 10:58:05 · 718 阅读 · 0 评论 -
JAVA 内存模型
简介内存模型描述了程序中各个变量(实例域、静态域和数组元素)之间的关系,以及在实际计算机系统中将变量存储到内存和从内存中取出变量这样的底层细节,对象最终是存储在内存里面的,这点没有错,但是编译器、运行库、处理器或者系统缓存可以有特权在变量指定内存位置存储或者取出变量的值。【JMM】(Java Memory Model的缩写)允许编译器和缓存以数据在处理器特定的缓存(或寄存器)和主存之间移动的次...原创 2019-03-21 17:35:43 · 209 阅读 · 0 评论