![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA提高
文章平均质量分 92
GNG
哥尼斯堡,我的故乡。
展开
-
缓存分享(1)——Guava Cache原理及最佳实践
Guava Cache最佳实践原创 2024-05-01 21:35:39 · 2098 阅读 · 2 评论 -
响应式编程详解
响应式编程 (reactive programming) 是一种基于数据流 (data stream) 和 变化传递 ,以“非阻塞”和“异步”为特性,采用函数式的语法,实现并发执行效率。统一了java并发编程模型,使同步与异步的实现代码无明显差异。原创 2024-02-09 16:06:56 · 2605 阅读 · 0 评论 -
java——学习并推荐java8
Java 8的核心新特性:Lambda(匿名函数)、流、默认方法。Java 8于2019年1月停止「免费维护」,java的生态已经发生翻天覆地的变化,应该努力拥抱变化,才能避免被时代淘汰。原创 2024-02-08 12:02:13 · 610 阅读 · 0 评论 -
java——访问修饰符(private/public/protected/缺省)学习
阅读《java核心技术 卷I》中“受保护访问”时,读得一知半解。书中对protected关键字作用一笔带过。java类中的成员变量和方法,有4个访问控制修饰符。它们分别是:private、public、protected、默认。一、private被private修饰的成员变量和方法,仅仅对本类可见,只能被本类的内部方法调用。(案例略)二、public被public修饰的成员变量和方法,对外部完全可见。声明对象实例后(无论在什么位置),实例均可通过“.”直接访问pulic成员变量和方法。(案例略.原创 2020-05-08 23:27:09 · 2329 阅读 · 0 评论 -
java——char类型、码点和代码单元详解
最近在看《Java核心技术 卷Ⅰ》,遇到了这个生僻的知识点。一、故事(背景) 我们知道,在计算机内部,所有信息最终都是一个二进制值。由二进制的数学特性可知,每一个二进制位(bit)有0和1两种状态,一个字节(byte)就可以组合出256种状态,每一个状态可以表示一个字符。为了表示英语字符与二进制位之间的关系,在上个世纪60年代,美国制定了ASCII 码。ASCII 码一共规定了128个字...原创 2020-04-18 21:37:55 · 1694 阅读 · 1 评论 -
java.io.Serializable(序列化)接口详细总结
一、前言 在参加工作后,做的第一个项目是电商项目。当时不会做项目,只能照猫画虎。其中一个VO类为何要实现Serializable接口一直没有理解,不实现这个Serializable,会报错。如下是随手写的一个VO类Person.java:import java.io.Serializable;public class Person implements Serializable { pr原创 2017-12-29 15:04:45 · 42399 阅读 · 16 评论 -
Java常用集合类总结
Java常用集合类总结作者:麦田里的码农 目录:Java常用集合类总结集合类Collection的由来集合和数组的区别如何着手学习集合类Collection 接口1 测试一Collection基本功能2 测试二Collection遍历Collection 使用泛型遍历1 List遍历Demo2 Map遍历Demo1.集合类(Collect原创 2018-01-20 12:43:31 · 1527 阅读 · 0 评论 -
几张图轻松理解String.intern()
原文链接:https://blog.csdn.net/soonfly/article/details/70147205在《深入理解Java虚拟机》书2-7中对 String.intern()返回引用的测试。 要搞明白String.intern(),我总结了下面几条规则: 一、new String都是在堆上创建字符串对象。当调用 intern() 方法时,编译器会将字符串添加到常量池中(string...转载 2018-03-27 21:31:35 · 171 阅读 · 0 评论 -
Integer缓冲池IntegerCache
缓冲池IntegerCacheInteger中有个静态内部类IntegerCache,里面有个cache[],也就是Integer常量池,常量池的大小为一个字节(-128~127)。源码为(jdk1.8.0_101)private static class IntegerCache { static final int low = -128; sta...转载 2018-03-27 22:08:07 · 1110 阅读 · 0 评论 -
Map类集合差异性比较
Map集合在面试中,必考必问。 Map集合类 Key Value super 说明 Hashtable 不允许为null 不允许为null Dictionary 线程安全 ConcurrentHashMap 不允许为null 不允许为null AbstractMap 锁分段技术(JDK8:CAS) TreeMap...原创 2018-03-27 22:45:02 · 967 阅读 · 0 评论 -
java:正则表达式、Pattern和Matcher类小结
最近在实际开发中遇到了2个坑,都和正则表达式有关。一个是public String[] split(String regex),入参居然是正则表达式!!!另一个坑与Pattern、Matches类的操作有关。都是对java的正则表达式不够熟悉导致。特地整理一下正则相关的知识。文章目录一、什么是正则表达式二、元字符表及意义三、正则表达式中的方括号四、正则表达式限定符五、开发中遇到的正则表达式...原创 2018-10-27 17:15:35 · 703 阅读 · 0 评论 -
序列化梳理
文章目录一、为什么需要序列化?二、反序列化时如何生成实例三、是不是所有的类都需要序列化四、java序列化(Serializable)和外部化(Externalizable)的主要区别五、哪些东西需要序列化1. 普通成员变量需要序列化2. 静态变量无需序列化3. 方法无需序列化4. 属性是一个引用5.有父类(较为复杂)6. 有实现接口7. 用transient保护的敏感信息六、java序列化为什么要...原创 2019-08-20 12:54:43 · 3144 阅读 · 3 评论 -
深入理解volatile关键字
文章目录一、初识volatile关键字二、背景知识1. CPU Cache模型2. java内存模型三、并发编程三个特性1.原子性2.可见性3.有序性四、JMM如何保证三大特性1.JMM与原子性2.JMM与可见性3.JMM与有序性五、volatile的原理和实现六、参考资料一、初识volatile关键字 自java 1.5版本起,volatile关键字所扮演的作用越来越重要。该关键字是并发...原创 2019-09-12 22:47:12 · 876 阅读 · 0 评论 -
单例模式的7种实现总结
目录单例模式介绍一、饿汉式二、懒汉式三、懒汉式+synchronized同步四、Double-Check式(注意有坑)五、Volatile + Double-Check式(最终版)六、Holder式七、枚举式八、防止JAVA通过反射修改构造器来攻击单例类参考资料单例模式介绍 单例模式(Singleton Pattern)是 Java 中最简单、最常用的设计模式之一。单例模式提供了一种在多线...原创 2019-09-25 19:27:24 · 664 阅读 · 0 评论 -
java中跟时间相关的类
public class SimpleDateFormat extends DateFormatSimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类。 它允许格式化 (date -> text)、语法分析 (text -> date)和标准化。SimpleDateFormat 允许以为日期-时间格式化选择任何用户指定的方式启动。 但是,希望用 DateFor原创 2017-08-02 20:59:12 · 402 阅读 · 0 评论 -
为什么配置path、classpath、JAVA_HOME及配置方法
1.为什么配置path环境变量及配置方法 配置path环境变量原因 1.程序的执行需要使用外部指令javac,但是javac指令仅仅能在JDK安装目录下的bin目录下运行,因此java程序只能写入bin目录。这样bin目录会很乱,不易管理。 2. 程序开发过程中,不能将源代码写入JDK的安装目录,因此需要将源程序保存到任意位置的指定目录(英文目录),所以需要使javac指令在任意目录下可原创 2016-11-16 20:50:56 · 6718 阅读 · 2 评论 -
DOS命令小结
打开DOS命令的方式开始—程序—附件—命令提示符开始—运行—cmd—-回车win+r—cmd—-回车在win7中。在任意目录中,按住shift键,点击右键,出现快捷菜单,选“在此处打开命令窗口(W)”DOS下常用命令 命令 作用效果 d: 回车 盘符切换 dir(directory) 列出当前目录下的文件以及文件夹 md (make directory)原创 2016-11-16 14:43:44 · 361 阅读 · 0 评论 -
JAVA标识符的命名规则
标识符的定义(1)就是给类、接口、方法、变量等起名字的字符序列 (2)组成规则:英文大小写字母数字$和_(3)注意事项:不能以数字开头不能是java关键字(一共50个。The keywords const and goto are reserved, even though they are not currently used. true, false, and null might原创 2016-11-16 21:57:15 · 2485 阅读 · 0 评论 -
JAVA中二进制字面量
public class Demos{ public static void main(String[] args){ int i=0b1110; //0b开头(零开头) System.out.println(i);//输出14 i=0B11111111; //0B开头(零开头) System.o原创 2016-11-16 22:21:25 · 3362 阅读 · 0 评论 -
java基本数据类型转换与陷阱
强类型语言Java 语言是一种强类型的语言。强类型的语言有以下几个要求: 第一、变量或常量必须有类型,而且只能在声明以后才能使用。 第二、赋值时类型必须一致:值的类型必须和变量或常量的类型完全一致。 第三、运算时类型必须一致:参与运算的数据类型必须一致才能运算。基本数据类型转换 (1) boolean类型不参与转换 (2)默认转换 A:从小到大 B:b原创 2016-11-17 16:10:31 · 706 阅读 · 0 评论 -
Eclipse常用配置及快捷键课堂小结
Eclipse快捷键是提高效率的重要手段。可以通过菜单栏中Window–>Preferences–>General–>Keys来查看和修改快捷键绑定。A:JDK和JRE环境配置 编译环境:window – Preferences – Java—Compiler 默认选中的就是最高版本。 运行环境:window – Preferences – Java—Installed JREs 默认会原创 2016-11-18 23:51:06 · 685 阅读 · 0 评论 -
MyEclipse+Tomcat配置详解
一、Tomcat 1 Tomcat概述Tomcat服务器由Apache提供,开源免费。由于Sun和其他公司参与到了Tomcat的开发中,所以最新的JSP/Servlet规范总是能在Tomcat中体现出来。当前最新版本Tomcat8,我们课程中使用Tomcat7。Tomcat7支持Servlet3.0,而Tomcat6只支持Servlet2.5! 2 安装、启动、配置转载 2017-07-12 10:03:15 · 347 阅读 · 0 评论 -
关于Java中equal函数和==的一些区别
equal函数比较的到底是什么,很明显是比较的值,但是什么值?与==比较的堆中的内存地址不同,其比较的是对象的值,包括各个属性的值。我们在重新overriding此方法时首先要判断是否为同一对象,如果是同一对象那么肯定返回为true,如果不是但比较的属性相同,那么对象“相等”,否则返回false。java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型。byte,sho转载 2017-07-12 10:37:33 · 547 阅读 · 0 评论 -
Java数组!!!很通俗的详解
这是一篇网上搜到的文章,对数组进行了充分的说明。楼主懂了数组的俩种初始化方式:静态初始化和动态初始化方式。(贴来备用)下面我带大家一起加深一下对Java数组的认识:1.理解数组数组也是一种数据类型,本身就是一种引用类型,我们从它的初始化方法,通过关键字new去完成定义及初始化就可以知道。数组的长度是不变的,一旦数组完成初始化后,它的长度就固定下来了,转载 2017-07-12 10:53:52 · 770 阅读 · 0 评论 -
Java多线程-synchronized关键字
进程:是一个正在执行中的程序。每一个进程执行都有一个执行顺序。该顺序是一个执行路径,或者叫一个控制单元。线程:就是进程中的一个独立的控制单元。线程在控制着进程的执行。一个进程中至少有一个线程Java VM 启动的时候会有一个进程Java.exe.该进程中至少一个线程负责java程序的执行。而且这个线程运行的代码存在于main方法中。该线程称之为主线程。扩展:其实更细节转载 2017-07-12 11:07:30 · 447 阅读 · 0 评论 -
Java项目经验——让我明确学习方向的好文章
本文转载至:http://geek.csdn.net/news/detail/109880,像我这样的菜鸟应该多看几遍这样的文章,学起来才更加有动力和方向。 Java就是用来做项目的!Java的主要应用领域就是企业级的项目开发!要想从事企业级的项目开发,你必须掌握如下要点:1、掌握项目开发的基本步骤2、具备极强的面向对象的分析与设计技巧3、掌握用例转载 2017-07-12 11:26:35 · 684 阅读 · 0 评论 -
java 基本类型和常量讲解
Java是一种强类型语言,第一次声明变量必须说明数据类型,而且变量在使用之前必须进行初始化。基本类型或者叫做内置类型,是Java中不同于类的特殊类型。java采用与C/C++相同的方法,不用new来创建基本类型的变量,而是创建一个并非是引用的变量,这个变量直接存储“值”,并置于栈中,因此效率更高。1. Java的基本类型 主类型 大小 包装器类型 最小值 最原创 2016-11-17 15:39:32 · 3057 阅读 · 0 评论 -
MessageDigest简介
一、概述java.security.MessageDigest类用于为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。简单点说就是用于生成散列码。信息摘要是安全的单向哈希函数,它接收任意大小的数据,输出固定长度的哈希值。转载 2017-09-06 15:41:57 · 1492 阅读 · 1 评论 -
eclipse启动错误:Java was started but returned exit code=13
问题描述 今晚开始了java学习之 路。在电脑(win7 ×64)上安装了JDK(jdk-8u112-windows-x64.exe),设置好环境变量后,用“java -version”、“java -verbose”等命令测试了一下,JDK没问题。顺手就用记事本写了一个“HelloWorld.java”,编译运行一切正常。 考虑到每次用记事本写java类太慢了,于是就下载了eclipse (E原创 2016-11-08 13:51:42 · 18471 阅读 · 0 评论