![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
java相关文章
臆想的一只猫
In the end, what matters is this: I survived.
展开
-
Java并发编程:深入剖析ThreadLocal
Java并发编程:深入剖析ThreadLocal 想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。 以下是本文目录大纲: 一.对ThreadLocal的理解 二....转载 2018-08-15 15:07:02 · 155 阅读 · 0 评论 -
Java面试题——基础篇
1、Java支持的数据类型有哪些?什么是自动装箱和拆箱? 装箱是将值类型转换成Object引用类型,拆箱是已被装箱的引用类型转换成原来的值类型。也就是说自动装箱和拆箱就相当于Java编译器在基本数据类型和对应的对象包装类型两者之间的一个相互转化。比如:把int类型转化成Integer类型、double转化成Double类型就是一个自动装箱的过程,反之就是自动拆箱。 ...原创 2018-08-13 16:34:49 · 223 阅读 · 0 评论 -
Java8新特性——Optional类
Optional<T>类(java.util.Optional)是一个容器类,代表一个值存在或不存在,原来用null表示一个值不存在,现在Optiolal可以更好地表达这个概念。并且可以避免空指针异常。 也就是说调用一个方法得到了一个返回值却不能直接将返回值作为参数去调用别的方法,我们首先要判断这个返回值是否为空,只有在非空的情况下才能将其作为其它方法...原创 2018-08-15 09:34:27 · 234 阅读 · 0 评论 -
Java8新特性——Stream API
1、stream API——相识 Stream是元素的集合,这点让Stream看起来有些类似Iterator;可以支持顺序和并行的对原Stream进行汇聚的操作。 大家可以把Stream当成一个高级版本的Iterator。原始版本的Iterator,用户只能一个一个的遍历元素并对其执行某些操作;高版本的Stream,用户只要给出需要对其包含的元素执行什么操作,比如:...原创 2018-08-14 11:21:11 · 182 阅读 · 0 评论 -
Java8新特性——并行流与顺序流
并行流就是把一个内容分成多个数据块,并用不同的线程分别处理每个数据块的流。 Java8中将并行流进行了优化,我们很容易的对数据进行并行操作。Stream API可以声明性地通过parallel()与scqucntial()在并行流与顺序流之间进行切换。 Fork-Join框架:是Java7提供的一个用于执行任务的框架,就是在必要的情况下,将一个大...原创 2018-08-14 21:18:35 · 1541 阅读 · 0 评论 -
Java8的新特性——接口中的默认方法和静态方法
大家都知道接口是用来对代码进行一种规范,对代码进行一种规范,实际开发中大多是协作开发,所以这就需要一种规范,大家都按照这种规范对代码进行书写,那么就会在整合的时候,非常的轻松了。 然而,有些时候会出现一个问题就是:当有多个类实现了相同的接口,接口中的某一些方法的实现体可能都是一样的时候,这样无疑浪费了很多时间,在写重复的代码,或者说copy。 应对于这...原创 2018-08-06 16:06:08 · 701 阅读 · 0 评论 -
四大函数式接口以及Stream流
/** * Created by Monologue_zsj on 2021/5/10 20:37 * Author:小脸儿红扑扑 * Description:题目:请按照给出数据,找出同时满足以下条件的用户,也即以下条件全部满足 * 偶数工D且年龄大于24且用户名转为大写且用户名字母倒排序 * 只输出一个用户名字 */public class StreamDemo { public static void main(原创 2021-05-10 21:05:02 · 136 阅读 · 0 评论 -
Java8新特性——方法、构造器、数组引用详解
/** 方法引用:若lambda体中的内容有方法已进化实现了,我们可以使用"方法引用"* (可以理解为方法引用是lambda表达式的另外一种表现形式)* 主要有三种语法格式:* 对象::实例方法名* 类::静态方法名* 类::实例方法名** 注意:* ①、Lambda体中调用方法的参数列表以返回值类型,* 要与函数式接口中抽象方法的...原创 2018-08-08 22:09:29 · 296 阅读 · 0 评论 -
Java8新特性——函数式接口和Lambda表达式
函数式接口是为Java8中的lambda而设计的,lambda表达式的方法体就是函数接口的实现。一、什么是函数式接口? 函数式接口是只包含一个方法的抽象接口。比如:Java标准库中的Java.lang.Runnable,java.util.Callable就是典型的函数式接口。二、如何使用函数是接口? 在Java8中通过@Functiona...原创 2018-08-08 17:16:21 · 287 阅读 · 0 评论 -
线程不安全例子
** ArrayList、HashSet、HashMap都是线程不安全的,以下提供解决方案:**/** * Created by Monologue_zsj on 2021/5/5 20:05 * Author:小脸儿红扑扑 * Description:ArrayList: 初始值 10 ,底层 new 了一个Object类型的数组,扩容1.5倍,复制Arrays.copyOf(); 线程不安全 * eg: 线程不安全例子 * 1、故障现象(可能会出现:java.uti.原创 2021-05-05 21:09:13 · 132 阅读 · 3 评论 -
Java创建递归树
什么是递归树如果我们把这个一层一层的分解过程画成图,它其实就是一棵树。我们给这棵树起一个名字,叫作递归树。JSON格式结果[ { "children": [ { "children": [ { "children": [ ], "id": "GN001D110", "parentId": "GN001D100",原创 2021-06-28 17:08:02 · 351 阅读 · 0 评论 -
龟兔赛跑
/** * Created by Monologue_zsj Luna on 2020/9/27 20:13 * Description:模拟龟兔赛跑 */public class Race implements Runnable { //胜利者 private static String winner; @Override public void run(){ for (int i = 1; i <= 100; i++){ ...原创 2020-09-27 20:22:52 · 134 阅读 · 0 评论 -
dom4j解析.xml文件
xml 是可扩展的标记性语言。xml 的主要作用有: 1、用来保存数据,而且这些数据具有自我描述性 2、它还可以做为项目或者模块的配置文件 3、还可以做为网络传输数据的格式(现在 JSON 为主)。CDATA 语法可以告诉 xml 解析器,我 CDATA 里的文本内容,只是纯文本,不需要 xml 语法解析CDATA 格式: <![CDATA[ 这里可以把你输入的字符原样显示,不会解析 xml]]>。dom4j 编程步骤:第一步: 先加载 xml 文件创建 Document 对象原创 2020-07-08 07:32:55 · 234 阅读 · 0 评论 -
Java类、方法、对象的应用以及GC
package Practice;class Cylinder {/** * 被static修饰的成员称为类成员,未被static修饰的称为实例成员 * 被static修饰的变量称为“静态变量”(类成员),被static修饰的方法称为“静态方法”(类方法) * 使用格式: * 类名.静态变量名;(建议使用) * 对象名.静态变量名; */ private sta...原创 2020-04-08 11:33:32 · 188 阅读 · 0 评论 -
接上章 循环笔记总结
chp2.循环结构一、循环:1. 概念:通过某个条件,使一段代码周而复始的执行。2. 组成:初始部分、循环条件、循环操作、迭代部分(控制循环条件改变的变量)。3. 分类:I. while循环:初始部分;while(循环条件){//循环操作//迭代部分(往往出现的循环操作中的最后一行)}特点:先判断,再执行。应用场景:循环次数明确。例:统计1、2、3 ~ 100的总和/奇数、偶数的和...原创 2018-05-11 12:15:46 · 125 阅读 · 1 评论 -
接上章 函数
chp3 函数一、函数:一段独立的代码过程二、函数的语法:2.1 声明函数:static 返回值类型 函数名(参数表)2.2 实现函数 {代码}2.3 调用函数 函数名(参数表)三、函数的参数和返回值参数:调用函数时传给函数的数据 0-n形式参数:函数的声明中定义的变量 函数内部有效的局部变量实际参数:函数调用时传给形参的数据返回值:函数返回时传回的数据 0-1 return 数...原创 2018-05-11 12:35:03 · 108 阅读 · 0 评论 -
接上章 数组
chp4 数组一次性定义多个同类型的变量数组的定义 int[] a; int []a; int a[];为数组分配空间 a = new int[10]; 数组元素具有默认值 默认值规则: 1.数值类型 0 2.布尔类型 false3.对象类型 null访问数组元素:a[0]a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8...原创 2018-05-11 12:51:56 · 120 阅读 · 0 评论 -
接上章 常见算法基础概念
ch5 常见算法1.累加/累积累加(累积)是我们经常用到的方法,比如我们之前做过的最简单的累加,求100以内的和就是累加,累加(累积)是将一系列数据的和(积)存入结果中。累加形式:V=V+e+....;累积形式:V=V*e*....;V是累加(累积)的结果,e是递增表达式。我们的累加(累积)一般是通过循环结构来实现。算法的要点:①. 对循环的控制,比如我们求1-100以内的和,条件...原创 2018-05-11 13:05:43 · 207 阅读 · 0 评论 -
Java集合运算
1、并集:以属于A或属于B的元素为元素的集合称为A与B的并(集),记作A∪B(或B∪A),读作“A并B”(或“B并A”),即A∪B={x|x∈A,或x∈B} 。2、交集: 以属于A且属于B的元素为元素的集合称为A与B的交(集),记作A∩B(或B∩A),读作“A交B”(或“B交A”),即A∩B={x|x∈A,且x∈B}3、补集:属于全集U不属于集合A的元素组成的集合称为集合A的补...原创 2019-09-16 12:09:50 · 2341 阅读 · 0 评论 -
Java编程基础笔记
对于初学Java的人而言,大堆的概念性东西让人头疼不已,下面总结的Java基础部分的笔记中的一部分,希望对你有所帮助。Java文件类型:1. .java(源文件)2. .class(字节码文件) 一、HelloWorld:1. 创建以.java结尾的源文件。2. 类:class(代码的容器)3. main:主函数,程序执行入口。一个类中只能有一个主函数。4. 一行只...原创 2018-05-05 14:18:53 · 257 阅读 · 1 评论