![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
【Java Basic】
文章平均质量分 77
Java 基础
小豆瓣的靳先生
这个作者很懒,什么都没留下…
展开
-
ThreadLocal详解
前言ThreadLocal工作中会偶有用到,是解决thread间的数据隔离问题的(并不是为解决并发和共享问题的),也是面试常见问题,比如:ThreadLocal知道吗?说说你自己的理解?或者这样问:在多线程环境下,如何防止自己的变量被其它线程篡改?无论基于哪种原因都是很有必要学习的。ThreadLocal是什么贴一段源码中的介绍:这个类提供线程的局部变量,可以通过get()和set()方法来...原创 2020-03-03 20:26:35 · 409 阅读 · 0 评论 -
Java字节码增强探秘
1.字节码1.1什么是字节码?Java之所以可以“一次编译,到处运行”,一是因为JVM针对各种操作系统、平台都进行了定制,二是因为无论在什么平台,都可以编译生成固定格式的字节码(.class文件)供JVM使用。因此,也可以看出字节码对于Java生态的重要性。之所以被称之为字节码,是因为字节码文件由十六进制值组成,而JVM以两个十六进制值为一组,即以字节为单位进行读取。在Java中一般是用jav...转载 2020-03-11 14:57:56 · 272 阅读 · 1 评论 -
SPI机制的原理和应用
Spring Boot提供了一种快速的方式来创建可用于生产环境的基于Spring的应用程序。它基于Spring框架,更倾向于约定而不是配置,并且旨在使您尽快启动并运行。转载 2019-12-23 16:49:53 · 1912 阅读 · 2 评论 -
Java输出数组的内容
1. 输出内容最常见的方式// List<String>类型的列表List<String> list = new ArrayList<String>();list.add("First");list.add("Second");list.add("Third");list.add("Fourth");System.out.pri转载 2018-09-21 09:58:22 · 10024 阅读 · 0 评论 -
判断一个请求是否为ajax请求
介绍:String requestType = request.getHeader("X-Requested-With"); 如果requestType能拿到值,并且值为XMLHttpRequest,表示客户端的请求为异步请求,那自然是ajax请求了,反之如果为null,则是普通的请求 ;方法:private boolean isAjax(HttpServletRequest原创 2017-10-11 14:35:34 · 927 阅读 · 0 评论 -
jsp读取properties配置文件
<% String path = ""; Properties pro = new Properties(); String realpath = request.getRealPath("/WEB-INF/classes"); try{ //读取配置文件 FileInputStream in = new FileInputStream(realpath+"/co转载 2017-09-13 11:58:16 · 3576 阅读 · 1 评论 -
字节、字、bit、byte的关系;char与byte的区别
一、字节、字、bit、byte的关系 —— http://blog.csdn.net/wanlixingzhe/article/details/7107923/二、char与byte的区别 —— http://blog.csdn.net/luoweifu/article/details/7770588转载 2017-08-10 14:45:34 · 1882 阅读 · 0 评论 -
字符串反转的三种方法
public class Main {public static void reverseString (String str){if (str.length()==1){System.out.println(str);} else {String str1 = str.substring(0,str.length()-1);String str2 = str.subs原创 2016-09-08 22:34:08 · 2016 阅读 · 0 评论 -
enum
javastringclasshashmap设计模式jdkjava 枚举类型enum 的使用最近跟同事讨论问题的时候,突然同事提到我们为什么java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?以前我们都是采用这种方式定义的,很少采用enum 定义,所以也都没有注意过,面对突入起来的问题,还真有点不太清楚为什么有这样的定义。既然不转载 2016-11-14 10:41:10 · 263 阅读 · 0 评论 -
Long对象对比大小及与long基本类型的区别
Long 类型指的是 java.util.Lang 对象,而long基本类型 (注意大小写)Java中如果使用 == 双等于比较对象,等于比较的是两个对象的内存地址,也就是比较两个对象是否是同一个对象,如果比较两个Long对象值是否相等,则不可以使用双等号进行比较,可以采用如下方式:1. 使用 equals 方法 Long a = new Long(3);原创 2016-11-15 10:20:45 · 7719 阅读 · 3 评论 -
SimpleDateFormat的setLenient(true/false)-----自动计算日期
有时候我们需要判断用户的日期格式是否正确,虽然绝大多数会在前台处理,但是也有需要从文件流读入的情况,如果日期不合格就需要抛异常,这时候就需要禁止SimpleDateFormat的自动计算功能。这时候就需要用到setLenient,这个方法的含义是是否严格解析日期,具体用法如下。package com.test.date;import java.text.SimpleDateFo转载 2016-12-27 10:14:10 · 5912 阅读 · 1 评论 -
java 把字符串中的反斜杠(\)替换成(\\)
在不同的系统中,路径的分隔符不同,故需要做出判断,并切换分隔符① Java 把字符串中的反斜杠(\)替换成(\\)replaceAll里面用的是正则表达式,所以字符串转义一次,正则转义一次,所以一个斜扛要写4个,用replaceAll( "\\\\ ", "\\\\\\\\ ");② java 把字符串中的反斜杠(/)替换成(\)replaceAll("/",转载 2016-12-26 12:06:50 · 2691 阅读 · 0 评论 -
java -version和javac -version不同原因及修改方法
1、出现原因我之前安装的jdk是1.6;后来又装成1.8,把变量名JAVA_HOME改成了1.8的文件路径,最终导致java -version和javac -version显示的版本不一致。2、错误结果java -version 显示的是最新安装版本的javajavac -version 显示的是你配置环境变量版本的java3、修改方法把 %JAVA_HOME% 放在P...原创 2016-12-15 13:57:45 · 23632 阅读 · 3 评论 -
遍历Map的四种方法
public static void main(String[] args) { Map map = new HashMap(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3"); //第一种:普遍使用,二次取值 System.out.println("通过转载 2016-09-08 22:31:38 · 359 阅读 · 1 评论 -
java中final、finally、finalize区别
final 用于声明属性、方法和类,分别表示属性不能不可变、方法不能覆盖、类不能继承;finally 是异常处理语句结构的一部分,表示总是执行。(在出行异常时也会执行,除非使用System.exit()退出程序;比如用于执行关闭数据库连接,释放资源等);finalize 是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集是的其他资源回收,转载 2016-11-15 10:37:40 · 406 阅读 · 0 评论