Java核心
文章平均质量分 83
Java核心
最菜的Bird
这个作者很懒,什么都没留下…
展开
-
Linux下运行Java报错: 找不到或无法加载主类
目录结构为:main函数在mygui/Test.java中,正确编译方法为,在src目录下执行如下命令可以正确执行。javac mygui/Test.javajava mygui.Test如果在mygui目录下编译,则需要添加src目录为classpath目录,其中 -cp 是指定类路径。javac -cp ../ Test.javajava -cp ../ mygui.Test如果在mygui目录下直接执行java Test则会报错->找不到或无法...转载 2020-07-20 11:29:04 · 3926 阅读 · 0 评论 -
Linux下如何配置JAVA环境
1.下载JDKJava SE 8的官方网址是http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html2.解压文件[root@acb40835 software]# tar -xvf jdk-8u65-linux-x64.tar.gz3.添加环境变量[root@acb40835 software]# vim /etc/profile添加:export JAVA...转载 2020-07-20 11:14:47 · 283 阅读 · 0 评论 -
问题:a = 0, a = a++,a = ?
面试题分析第一弹面试题:public static void main(String[] args) { int a = 0; a = a++; System.out.println(a);}答案是 a = 0。为什么?分析为了更好的分析原因,不妨从字节指令来看看具体的指令执行流程。>javac - xxx.java>javap -c xxx.class重要的几个指令是:下面列出了这几个指令的具体描述指令 操.原创 2020-07-16 15:47:21 · 1534 阅读 · 0 评论 -
Java字节码指令大全
一、常量入栈指令指令码 操作码(助记符) 操作数 描述(栈指操作数栈) 0x01 aconst_null null值入栈。 0x02 iconst_m1 -1(int)值入栈。 0x03 iconst_0 0(int)值入栈。 0x04 iconst_1 1(int)值入栈。 0x05 iconst_2 2(int)值入栈。 0x06 iconst...转载 2020-07-16 15:14:46 · 392 阅读 · 0 评论 -
DCL单例模式需不需要volatile?
这篇博客主要介绍单例模式中的双重验证中是否需要加volatile,以及为什么。单例模式最简单的实现方式public class Singleton { private static Singleton instance = new Singleton(); private Singleton() {} public static Singleton getInstance() { return instance; }}这种写法无论在单线程.原创 2020-07-09 16:30:46 · 1926 阅读 · 1 评论 -
HashMap put(K key, V value)解析
这篇博客主要记录HashMap put(K key, V value)方法以及resize()的解析。根据具体的Demo来解析代码流程,该Demo比较极端,主要是为了在存储键值对时让hashMap调用replacementTreeNode()方法,并且在创建HashMap时没有指定集合的容量(capacity)。在阅读之前先了解一下HashMap的数据结构,如下图所示:Map<String, String> map = new HashMap<>();map.pu原创 2020-06-23 18:21:28 · 1121 阅读 · 0 评论 -
JAVA创建线程池
阅读了阿里JAVA开发手册泰山版,其中关于线程池的创建有个强制要求:线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,这 样的处理方式更加明确线程池的运行规则,规避资源耗尽的风险。说明:Executors返回的线程池对象的弊端如下: 1)FixedThreadPool和SingtelThreadPool 允许的请求队列长度为 Integer.MAX_VALUE,可能会堆积大量的请求,从而导致 OOM。 2)Cached...原创 2020-06-19 10:19:28 · 518 阅读 · 0 评论 -
ArrayList扩容
这篇博客涉及到比较简单和常用的ArrayList的扩容。解决如下问题:ArrayList何时会扩容? ArrayList如何扩容?先看一段代码,然后根据代码去解析ArrayList是如何扩容的。List<String> list = new ArrayList<>(); // 1for (int i = 0; i < 100; i++) { // 2 list.add(String.valueOf(i)); // 3}根据添加元素的.原创 2020-06-15 18:02:12 · 562 阅读 · 0 评论 -
TreeMap put()和遍历
这篇博客记录了学习TreeMap时关于put()方法和遍历TreeMap的解析,方便巩固学习,仅作参考。TreeMap<String, String> treeMap = new TreeMap<>() ;String str1 = "12";String str2 = "123";String str3 = "1234";treeMap.put(str...原创 2020-04-09 18:29:13 · 793 阅读 · 0 评论 -
HashSet.add()方法解析
这篇文章主要是记录学习HashSet时关于add()方法的解析,以便个人理解HashSet大概的工作原理,仅作参考。范例一:TestObj类的任意实例对象a, b, a.equals(b)方法都返回true,并且a.hashcode() == b.hashcode(),即hashcode值一样。/** * TestObj类的任意实例对象a, b, a.equals(b)方法都...原创 2020-04-09 11:28:17 · 537 阅读 · 0 评论 -
Java普通方式读写文件使用字节数组作为缓冲时的注意事项
这篇文章主要是针对使用普通InputStream和OutputStream读写时遇到问题的总结。直接上代码: String filePathForRead = "D:\\For Testing\\test.txt"; File fileForRead = new File(filePathForRead); if (!fileForRead.exists()) { Syst...原创 2020-03-17 11:48:05 · 848 阅读 · 0 评论 -
数据库数据类型 - char() 填坑
此博客记录一次数据库数据类型 - char(10)造成的查询记录数目不匹配的问题,仅作相关参考。问题描述:在java中使用如下查询语句获得某个记录在数据库TB_A表中匹配次数。select count(*) as NUM from TB_A where data_no = ?然后使用ResultSet获得NUM的值(中间setParameter之类的细节省略),然而得到的coun...原创 2019-06-25 17:13:55 · 5425 阅读 · 0 评论 -
DateFormat Pattern 格式填坑
此博客作为使用Date Format时,对于Pattern的格式填坑。仅做参考String转Date或者Date转String的时候都会使用到"yyyyMMdd HH:mm:ss"类似的模板。先介绍一下 G 年代标志符 y 年 M 月 d 日 h 时 在上午或下午 (1~12) H 时 在一天中 (0~23) m 分 s 秒...原创 2019-06-25 10:34:19 · 3713 阅读 · 0 评论 -
wait()、notify()需要在同步块中使用
为什么wait()、notify()需要在同步块中使用?源码中这样说: *Causes the current thread to wait until another thread invokes the * {@link java.lang.Object#notify()} method or the * {@link java.lang.Object...原创 2019-03-07 14:46:08 · 198 阅读 · 0 评论 -
java基础知识
基本数据类型 基本数据类型 byte short int long float double char boole...原创 2019-03-07 14:39:16 · 104 阅读 · 0 评论 -
java1.8, ArrayList删除目标元素,报错ConcurrentModificationException
在java1.8环境下,使用forEach的方式删除ArrayList中的目标元素,出现ConcurrentModificationException。一段简单的代码:List<String> strs = new ArrayList<String>(); // 1 strs.add("aaa"); // 2 strs.add("bbb"); // 3 ...原创 2018-12-21 11:21:07 · 336 阅读 · 0 评论