随笔分类 - [02] Java基础
摘要:参考自:http://www.importnew.com/28263.html HaspMap和ConcurrentHashMap(康科瑞特哈希迈普) Java7 HashMap 不支持并发操作,HashMap 里面是一个数组,然后数组中每个元素是一个单向链表。 capacity:当前数组容量,始终
阅读全文
摘要:历史上的原因是,openjdk是jdk的开放原始码版本,以GPL协议的形式放出。在JDK7的时候,openjdk已经成为jdk7的主干开发,sun jdk7是在openjdk7的基础上发布的,其大部分原始码都相同,只有少部分原始码被替换掉。使用JRL(JavaResearch License,Jav
阅读全文
摘要:正则表达式语法 (1)一个字符串其实就是一个简单的正则表达式,例如 Hello World 正则表达式匹配 "Hello World" 字符串。 (2).(点号)也是一个正则表达式,它匹配任何一个字符如:"a" 或 "1"。 (3)在其他语言中,\\ 表示:我要在正则表达式中插入一个普通的(字面上的
阅读全文
摘要:背景 JDK8中增加了一套全新的日期时间API,这里进行总结下,方便查询使用。 新的时间及日期API位于 java.time 包中,下面是一些关键类。 Instant:代表的是时间戳。 LocalDate:不包含具体时间的日期。 LocalTime:不含日期的时间。 LocalDateTime:包含
阅读全文
摘要:变量 1、变量名可以使用 数字、字母、下划线、$符号。数字包括 '0'~'9' 和某种语言中表示数字的任何 Unicode 字符。字母包括 'A'~'Z'、'a'~'z' 和某种语言中表示字母的任何 Unicode 字符。 2、变量名里尽量不要出现 $ 字符,它只用在Java编译器或其他工具生成的名
阅读全文
摘要:整型 整型 类型 存储需求 取值范围 byte 1字节 -128 ~ 127 short 2字节 -32768 ~ 32767 int 4字节 -2147483648 ~ 2147483647 long 8字节 -9223372036854775808 ~ 9223372036854775807 1
阅读全文
摘要:1、下载JDK Linux上一般会安装Open JDK,如果有系统预装了OpenJDK的话需要先卸载掉OpenJDK, 卸载过程可以参考这里:https://www.cnblogs.com/sxdcgaq8080/p/7492426.html 关于OpenJDK和JDK的区别:JDK 和 OpenJ
阅读全文
摘要:1、线程池简介: 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。 假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。 如果:T1 + T3 远大于 T2,则可以采用线程池,以提
阅读全文
摘要:多个进程或线程同时(或着说在同一段时间内)访问同一资源会产生并发(线程安全)问题。解决并发问题可以用锁。 java的内置锁: 每个java对象都可以用做一个实现同步的锁,这些锁称为内置锁。线程进入同步代码块或方法的时候会自动获得该锁,在退出同步代码块或方法时会释放该锁。获得内置锁的唯一途径就是进入这
阅读全文
摘要:死锁的产生 死锁是进程死锁的简称,是由Dijkstra于1965年研究银行家算法时首先提出来的。它是计算机操作系统乃至并发程序设计中最难处理的问题之一。实际上,死锁问题不仅在计算机系统中存在,在我们日常生活中它也广泛存在。 什么是死锁 我们先看看这样一个生活中的例子:在一条河上有一座桥,桥面较窄,只
阅读全文
摘要:常用方法 获取字符串长度 字符串Unicode操作 这部分用的不多,不是很清楚,先记载在这。 字符串字符操作 字符串字节操作 字符串比较操作 (1)比较是否相等 比较两个字符串是否相等,anObject 必须为字符串,否则返回 false。 比较两个字符串是否相等,忽略大小写。 这两个方法可用于比较
阅读全文
摘要:简介 如果基本的整数和浮点数精度不能够满足需求,那么可以使用 java.math 包下两个很有用的类:BigInteger 和 BigDecimal。这两个类可以处理包含任意长度数字序列的数值,BigInteger 实现了任意精度的整数运算,BigDecimal 实现了任意精度的浮点数运算。BigD
阅读全文
摘要:HttpServletRequest对象详解 javax.servlet.http.HttpServletRequest是SUN制定的Servlet规范,是一个接口。表示请求,“HTTP请求协议”的完整内容都被封装到request对象中,HttpServletRequest接口的父接口是javax.
阅读全文
摘要:1、正则表达式特殊字符 Java 代码中使用到正则表达式里的特殊字符需要使用转义符 \ 进行转义 因为反斜线 \ 也是特殊字符,所以转义需双反斜线 \\,否则会报 java.util.regex.PatternSyntaxException 异常。 上面代码的运行结果是: 可以看出 contains
阅读全文
摘要:与C、C++不同,Java在定义数组时并不为数组元素分配内存,因此[ ]中无需指定数组元素的个数,即数组长度。 定义一个数组有两种方式: 对于如上定义的一个数组是不能访问它的任何元素的,我们必须要为它分配内存空间: 1、通过 new 关键字创建,指定数组长度。属于动态初始化。 2、通过 new 关键
阅读全文
摘要:背景 今天碰到了代码中的按位与运算,复习一下,先列一个各个进制数据表。 顺便复习一下十进制转二进制的计算方式: 接下来解释下这三个运算符: & 按位与,都转为二进制的情况下,同为1则为1,否则为0。| 按位或,都转为二进制的情况下,同为0则为0,否则为1。^ 按位异或,都转为二进制的情况下,相同为0
阅读全文
摘要:native2ascii 简介 native2ascii 是 sun java sdk提供的一个工具。用来将别的文本类文件(比如*.txt,*.ini,*.properties,*.java等等)编码转为 Unicode 编码。为什么要进行转码,原因在于程序的国际化。Unicode 编码的定义:Un
阅读全文
摘要:乱码产生的原因 不管是request乱码还是response乱码,其实都是由于客户端(浏览器)跟服务器端采用的编码格式不一致造成的。以request乱码为例:浏览器向服务器发送请求,因为浏览器与服务器之间的通信实质上是socket流,所以要先将请求参数(字符)转换成字节,也就是编码过程,服务器接收到
阅读全文