
javase
文章平均质量分 68
niceguy_smile
Java资深技术专家,专注于java领域,并发编程,jvm,分布式微服务等 欢迎各位大佬共同交流技术
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
集合源码之ArrayList源码分析
啊哈哈哈,今天来说一下ArrayList的源码。ArrayList是list的一种在java.util包下继承了AbstractList类,实现了RandomAccess, Cloneable, java.io.Serializable接口当我们进这三个接口里面看的时候,发现这三个接口里面竟然一句代码没有。那么为什么还要实现这三个接口呢?是要起到一个标记的作用。这三个接口说明支持随机访问,可以克隆,可序列化还是老样子,看完实现的类和接口之后,我们来看看全局变量。..原创 2021-01-13 13:41:06 · 317 阅读 · 0 评论 -
LinkedList源码分析
今天和别人聊天时,有所感慨。 自己辛辛苦苦的学了不少东西。 但是谁又能相信我是真的学过,真的努力了呢。能拿出什么证据出来吗。学过的东西要说的出来,证明自己是学过了的。不然你去面试的时候,跟面试官说你学了xxx技术,他会相信你说的话吗。在提到LinkedList之前我们先来说说什么是集合,集合和数组之前的区别。百度百科中说到,集合类是Java数据结构的实现。Java的集合类是java.util包中的重要内容,它允许以各种方式将元素分组,并定义了各种使这些元素更容易操作的方法。那么集合和..原创 2021-01-13 11:24:40 · 381 阅读 · 0 评论 -
最近遇到的一个坑
List list1 = new ArrayList();List list2 = list1;list1.append("nice");System.out.println(list2);竟然能打印出append添加的数据我最开始纳闷的是list1先赋值给list2,然后list1再添加数据,为啥list2还会修改?其实这么理解是有问题的, List list2 = li...原创 2020-04-29 00:37:31 · 204 阅读 · 0 评论 -
java代码的几种优化方式
1.HashMap要设置默认初始化大小2.不要创建多余的变量3.使用线程池代替new Thread()4.不要在循环内部创建变量5.对象使用完毕后要设置为null,及时释放内存6.尽量使用String.valueOf()方法代替toString()方法,防止空指针7.在使用equals方法时,常量写在前面,防止空指针8.不要在实际开发的代码中使用System.out.p...原创 2020-04-08 10:34:25 · 413 阅读 · 0 评论 -
日常技术积累
java多线程中wait和notify一直是我学习中遗漏的一个地方,今天打算把这个坑填上先贴代码:package com.nice.test;import org.junit.Test;public class Demo implements Runnable{ public boolean flag = false; private static De...原创 2019-11-11 05:26:17 · 158 阅读 · 0 评论 -
实现一个简单的并发效果
很多公司都要高并发经验并发在很多公司都会用到,特别是电商公司,尤其是双十一秒杀系统下面我来带大家写一个简单的并发demo,不说了直接上代码package com.nice;import java.util.concurrent.*;public class ExecutorTest { public static boolean flag = true; /...原创 2019-10-20 08:50:46 · 290 阅读 · 0 评论 -
String使用的注意事项
String str1 = "nice" ;String str2 = new String("nice");System.out.println(str1==str2); //falseSystem.out.println(str1.equals(str2)); //true区别就是str1开辟了一块内存空间,而str2开辟了两块内存空间,指向的是第二块内存空间==和equa...原创 2019-06-18 16:55:30 · 220 阅读 · 0 评论 -
Javase基础10
流程控制语句 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。 流程控制语句分类 顺序结构 顺序结构概述 是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺...原创 2019-04-03 17:23:52 · 215 阅读 · 0 评论 -
javase基础09
运算符 运算符 对常量和变量进行操作的符号成为运算符 表达式 用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。不同运算符连接的式子体现的是不同类型的表达式。 定义两个int类型的变量a,b,做加法(a+b) 常用运算符 算术运算符 赋值运算符 关系运算符 ...原创 2019-04-03 11:18:56 · 124 阅读 · 0 评论 -
javase基础08
类型转换 +是一个运算符,我们应该能够看懂,做数据的加法 boolean类型不能转换为其它的数据类型 默认转换 byte,short,char-int-long-float-double byte,short,char相互之间不能转换,它们参与运算首先转换为int类型 强制转换 目标类型 变量名=(目标类型)(被转换的数据...原创 2019-04-03 08:02:11 · 233 阅读 · 0 评论 -
javase基础07
变量的定义和使用 编写案例演示每种不同数据类型的变量定义 变量定义的注意事项 变量未赋值,不能直接使用 引出变量的第二种使用格式 变量只在它所属的范围内有效 变量在哪对大括号内,变量就属于哪对大括号 一行上可以定义多个变量,但是不建议 ...原创 2019-04-02 23:21:09 · 116 阅读 · 0 评论 -
java包装类之Integer类源码分析
Integer类是实体类中必不可少的一个包装类型,其它类中可能也会用到,下面我来讲讲Integer类的源码分析:/** *@author nice *继承了Number类实现了Comparable<Integer>接口 */public final class Integer extends Number implements Comparable<Integer&...原创 2019-03-27 19:10:50 · 311 阅读 · 0 评论 -
java隐式类型转换
走你这哥们不给我面子,挂掉了略做修改编译,运行终于打印出结果了java类型转换分为隐式类型转换和强制类型转换隐式转换优先级byte,short,char -> int -> long -> float -> double...原创 2019-04-02 18:26:14 · 2694 阅读 · 0 评论 -
javase基础01
关键字 关键字概述 被java语言赋予特定含义的单词 关键字特点 组成关键字的字母全部小写 常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观,所以我们不需要去司机硬背,在今后的学习中重要的关键字也会不断地出来。 用于定于访问权限修饰符的关键字 private protected public 用于定义类,函...原创 2019-04-02 19:46:45 · 155 阅读 · 0 评论 -
javase基础02
计算机存储单元 变量是内存中的小容器,用来存储数据。那么计算机内存是怎么存储数据的呢?无论是内存还是硬盘,计算机存储设备的最小信息单元叫"位(bit)",我们又称之为"比特位",通常用小写的字母b表示。而计算机最小的存储单元叫"字节(byte)",通常用大写字母B表示,字节是由连续的8个位组成。 除了字节外还有一些常用的存储单位,大家可能比较熟悉,我们一起来看看: ...原创 2019-04-02 20:06:41 · 145 阅读 · 0 评论 -
javase基础03
数据类型概述java语言是强类型语言,对于每一种数据都给出了明确的数据类型,不同的数据类型也分配了不同的内存空间,所以它们表示的数据大小也是不一样的。注意:1.整数默认是int类型,浮点数默认是double类型2.定义long类型数据的时候,要加L或者l,建议加L3.定义float类型数据的时候,要加F或者f,建议加F...原创 2019-04-02 21:31:28 · 203 阅读 · 0 评论 -
javase基础04
标识符 作用 给包,类,方法,变量等起名字 组成规则 由字符,下划线_,美元符$组成 这里的字符采用的是unicode字符集,所以包括英文大小写字母,中文字符(不建议使用),数字字符等。 注意事项 不能以数字开头 不能是Java中的关键字 ...原创 2019-04-02 22:10:15 · 161 阅读 · 0 评论 -
javase基础05
标识符 命名规则 基本要求 见名之意 常见命名规则 包 全部小写,多级包用点隔开。 com.com.itheima 类 一个单词首字母大写 Student,Car 多个单词,每个单词首字母大写 HelloWo...原创 2019-04-02 22:43:33 · 137 阅读 · 0 评论 -
javase基础06
变量的定义和使用 编写案例演示每种不同数据类型的变量定义 变量定义的注意事项 变量未赋值,不能直接使用 引出变量的第二种使用格式 变量只在它所属的范围内有效 变量在哪对大括号内,变量就属于哪对大括号 一行上可以定义多个变量,但是不建议 ...原创 2019-04-02 23:14:02 · 145 阅读 · 0 评论 -
接口和抽象类的区别
接口和抽象类的共同点:1.都是上层的抽象层2.都不能被实例化3.都能包含抽象的方法抽象类可以有默认的方法实现完全是抽象的。接口根本不存在方法的实现。抽象类使用extends关键字来继承抽象类,如果子类不是抽象类的话,需要提供抽象类中所有声明的方法的实现。子类使用关键字implements来实现接口,需要提供接口中所有声明的方法的实现。抽象类可以有构造器...原创 2019-03-26 07:03:33 · 152 阅读 · 0 评论