Java笔记
Song_MJ
这个作者很懒,什么都没留下…
展开
-
Java的String.intern()方法解析
第一行代码:先分别在常量池和堆中存a b这两个值,str1指向堆中的ab第二行代码:在常量池中找有没有ab这个值,没有的话就将堆中的值和地址都存到常量池中第三行代码:在常量池中查找ab这个值,如果存在就指向ab用下面的代码,根据报错信息可以测试运行时常量池位置//运行如下代码探究常量池的位置 public static void main(String[]...原创 2019-05-16 12:38:32 · 338 阅读 · 1 评论 -
Java – 如何创建守护进程线程?为什么?
原文:https://codeday.me/bug/20180809/215088.html要把最后一个wait()的进程设为守护进程参见英文答案 >What is Daemon thread in Java?2我不明白守护进程线程的用法和目的。他们是什么我该怎么用?此外,我试图创建守护进程,但我...转载 2019-06-13 23:04:41 · 2362 阅读 · 0 评论 -
eclipse中格式化代码快捷键Ctrl+Shift+F失效的解决办法(win10系统)
与系统或者输入法的切换简繁体冲突了解决方法:原创 2019-06-02 14:17:21 · 598 阅读 · 0 评论 -
JavaBean和相关的关键字(package、import)简介
JavaBean标准:①该类的公共的(public)②私有的属性并且提供getter/setter方法package:作用:定义包,以目录方式管理JavaBeanpackage语法:写在类的首行,目录结构以“.”分隔;如 package 包名;定义包的规范:项目类型.公司名称.项目名称.模块名称;包名所有字母小写的im...原创 2019-05-29 20:19:32 · 599 阅读 · 0 评论 -
Java this关键字的注意事项及使用场景
注意事项:①this必须放在构造方法的第一行 ② 有n个构造方法 this 最多出现 n-1 次(多了会形成递归,不能通过编译)语法:属性:this.属性;方法:this.方法();构造方法:this(参数);使用场景:1 Setters时使用 public void setName(String name) { this.name = name...原创 2019-05-29 20:08:44 · 922 阅读 · 0 评论 -
Java构造器(构造方法)
注意:子类不能继承父类中的构造器,只能用super调用public Student(String name,int age){ this.setName(name); this.setAge(age);}语法:访问权限修饰符 类名(参数1,参数2){}访问权限修饰符:全可用(public protected 缺省 privated)类名:...原创 2019-05-29 19:52:59 · 226 阅读 · 0 评论 -
Java的private成员变量的继承问题
原文链接:https://www.cnblogs.com/yulianggo/p/10417229.htmljava板块关于private变量到底会不会被继承,一直都有争议。 传送门另一种说法是非继承关系,但是不能够解释为什么。分析内存的分配后发现:当一个子类被实例化的时候,默认会先调用父类的构造方法对父类进行初始化,即在内存中创建一个父类对象,然后再父类对象的外部放...转载 2019-05-29 15:44:28 · 649 阅读 · 0 评论 -
Java修饰符的总结(思维导图)
参考链接:https://blog.csdn.net/u012723673/article/details/80613557static关键字:static表示静态;它可修饰属性,也可修饰方法,代码块,内部类.修饰属性(类变量):即属于类的,调用方式: 类名.属性; 属于所有对象的公共属性 对象.属性 类变量在类加载的时候就会加载,而且独一份 ...原创 2019-06-01 14:54:07 · 282 阅读 · 0 评论 -
ArrayList和LinkedList的区别
原文链接:https://www.jianshu.com/p/e591690afacb在java编程过程中,许多人惯使用并常用的的几个类型莫过于String,ArrayList以及HashMap了,以至于并没有关心过LinkedList及Hashtable等类型及它们的区别,致使写出的程序看似漂亮但是并不高效。现在我来分享下我了解的ArrayList和LinkedList的区别。从数据结构...转载 2019-06-06 08:43:17 · 137 阅读 · 0 评论 -
Java子类的父类和要实现的接口有相同的方法会冲突吗
原文链接:https://xiaoxiaoher.iteye.com/blog/2372327答案是,不会。子类优先实现父类的方法,虽然父类的方法和接口的方法长得一模一样。class father{ public void f(){}}interface sameInterface{ public void f();}class son extends fathe...转载 2019-06-03 19:45:57 · 1842 阅读 · 0 评论 -
抽象类可以实现接口吗?有什么意义?
原文链接:https://bbs.csdn.net/topics/2800305451.抽象类肯定可以实现接口;2.这不是有没有意义的事情,是一种思想,当你自己写的类想用接口中个别方法的时候(注意不是所有的方法),那么你就可以用一个抽象类先实现这个接口(方法体中为空),然后再用你的类继承这个抽象类,这样就可以达到你的目的了,如果你直接用类实现接口,那是所有方法都必须实现的;3.这种思...转载 2019-06-03 19:49:52 · 17449 阅读 · 1 评论 -
Java易混淆概念之类变量、实例变量、局部变量
原文:https://damoqingquan.iteye.com/blog/2347371.类变量、实例变量、局部变量类变量是类中独立于方法之外的变量,用static 修饰。实例变量也是类中独立于方法之外的变量,不过没有static修饰。局部变量是类的方法中的变量。看下面的伪代码说明:public class Variable{ static int allC...转载 2019-06-17 21:14:54 · 254 阅读 · 0 评论 -
Java中Exception和Error有什么区别?
链接:https://www.nowcoder.com/questionTerminal/a679dbc19a6a41c580a50e86fbdfc185来源:牛客网Error类和Exception类的父类都是throwable类,他们的区别是:Error类一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢等。对于这类错误的导致的应用程序中断,仅靠程序本身...转载 2019-06-04 19:30:51 · 350 阅读 · 0 评论 -
Java枚举 自定义枚举 通过enum关键字定义枚举 实现接口 枚举的方法
自定义枚举类 public class TestEnum1 { public static void main(String[] args) { Person man = Person.MAN; System.out.println(man.toString()); Person woman = Person.WOMAN; System.out.println(woma...原创 2019-06-10 21:39:12 · 1747 阅读 · 0 评论 -
Java字符流、字节流、缓冲流复制操作
字符流复制 public void copy(String src, String desc) { FileInputStream fis = null; FileOutputStream fos = null; try { File f1 = new File(src); // 读取文件对象 File f2 = new File(desc); // 写出文件对象 ...原创 2019-06-10 21:30:56 · 295 阅读 · 0 评论 -
Java缓冲流 读、写、复制、操作字节
缓冲流操作字符(文本)(高效) //缓冲流操作字符(文本)(高效) @Test public void test() throws Exception { BufferedReader br = new BufferedReader(new FileReader (new File("test4.txt"))); BufferedWriter bw = new BufferedW...原创 2019-06-10 21:25:37 · 144 阅读 · 0 评论 -
Java IO 字节流 字符流写入、读取、复制文件
分别使用字节流和字符流完成以下程序:1. 在指定的路径下新建一个 txt 文件 "aura.txt",利用程序在文件中写入如下内容:"Hadoop(hdfs、mapreduce、yarn) 元老级大数据处理技术框架,擅长离线数据分析,Hbase 分布式海量数据库,离线分析和在线业务通吃,Hive sql 数据仓库工具,使用方便,功能丰富,基于MR延迟大,Sqoop数据导入导出工具,Fl...原创 2019-06-10 20:46:21 · 1723 阅读 · 0 评论 -
Java输出流需要明白的几点细节
原文:https://my.oschina.net/yibuliushen/blog/727631输出流必须要注意的一些细节。OutputStream---字节输出流常用的实现类:FileOutputStream---字节文件输出流,write数据后立刻写到文件中去BufferedOutputStream---带缓冲区的字节输出流,数据会先存放到缓存取,缓冲区满的话会自动flush到...转载 2019-06-15 16:24:41 · 586 阅读 · 0 评论 -
Java非静态内部类中为什么不能有静态变量却可以有常量(final || static final)?
//如:public class InnerClassDemo{ int x; class A{ static int a = 0;//这样写是不合法的. static final int b=0;//这样写是合法的 }}解答:简单说,定义一个静态的域或者方法,要求在静态环境或者顶层环境,这里静态环境具体说,例子里如果加上 static class A就o...转载 2019-06-03 21:00:45 · 729 阅读 · 0 评论 -
Java 中 Comparable 和 Comparator 比较
原文链接:https://www.cnblogs.com/skywang12345/p/3324788.html本文,先介绍Comparable和Comparator两个接口,以及它们的差异;接着,通过示例,对它们的使用方法进行说明。Comparable 简介Comparable 是排序接口。若一个类实现了Comparable接口,就意味着“该类支持排序”。 即然实现Co...转载 2019-06-05 23:02:02 · 110 阅读 · 0 评论 -
理解String的compareTo()方法返回值
原文链接:https://chenfeng0104.iteye.com/blog/409754前言:今天浏览网页时看见有人对String类的compareTo()方法的返回值感到疑惑不解,所以我写了这篇文章,希望能帮助这些有疑惑的人.compareTo()的返回值是整型,它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值,如...转载 2019-06-05 22:34:11 · 3658 阅读 · 0 评论 -
Java对象在内存中的存储结构图解
public class TestStudent { public static void main(String[] args) { int n = 10; //栈存储 int m = 10; //栈存储 Student stu = new Student(); //属性赋值 stu.name="张三"; System.out.println(stu.name);...原创 2019-05-27 19:50:23 · 5291 阅读 · 0 评论 -
Java_运算符优先级
原创 2019-05-22 21:09:08 · 108 阅读 · 0 评论 -
Java_位运算符_左移右移
左移和右移都是对整数的补码进行运算的左移就是补码向左移两位,每左移一位就相当于补码所对应的十进制的整数 *2右移就是补码向右移两位,每右移一位就相当于补码所对应的十进制的整数 \261补码:00..0 11 1101 (Java的整型默认类型为Int,int占32bit)左移:00..0 0011 1101 << 00..0 0111 1010 <...原创 2019-05-22 21:01:36 · 786 阅读 · 0 评论 -
详解Java异或运算符
文章原地址目录目录 性质 应用举例 其他用途示例 异或是一种基于二进制的位运算,用符号XOR或者^表示,其运算法则是对运算符两侧数的每一个二进制位同值则取0,异值则取1.简单理解就是不进位加法,如1+1=0,0+0=0,1+0=1.For example: 3^5 = 6转成二进制后就是 0011 ^ 0101 二号位和三号位都是异值取1 末尾两个1同值取零,...转载 2019-05-22 19:37:37 · 1607 阅读 · 0 评论 -
Java_类与类之间的关系_小练习_抽三张不相同的扑克牌
新建一套扑克,从中抽取三张不同的牌在用其他类作为本类属性时(关联关系)一定要进行初始化(new),如果不初始化运行的时候会抛出空指针错误java.lang.NullPointExceptionpackage day12.day11homework;import java.util.Arrays;import java.util.Random;//目前下面的程序已经...原创 2019-05-17 12:51:10 · 358 阅读 · 0 评论 -
Java_文件大小单位转换_基本类型长度
1字节=8bit1kb=1024字节原创 2019-05-21 20:38:13 · 1362 阅读 · 0 评论 -
Java易混淆点总结01_equals和 == 有什么区别?_选择排序和冒泡排序有什么区别?_取余和取模有什么区别?
易混淆点总结1.equals和 == 有什么区别?==如果是基本数据类型,则比较的是值,如果是引用类型,则比较的是地址equals是比较字符是否都相同// 运行结果:// 2018699554// 2018699554// 1311053135// 字符串a与字符串b的地址相等// 字符串a与字符串c的地址 不 相等// 字符串a与字符串c存的字符相同 publ...原创 2019-05-11 21:20:20 · 249 阅读 · 0 评论 -
Java_负数的二进制转换问题
1.问题起因:System.out.println(0b11110100); //244想通过这行代码打印输出-12(-12的补码是11110100)结果打印结果是:244结果分析:因为系统默认打印的是按照int类型输出的,int类型有32位,如果不够32位系统会自动在前面补0System.out.println(0b11111111111111111111111...原创 2019-05-21 19:56:39 · 1624 阅读 · 0 评论 -
Java for循环的运行步骤
class Demo{ public static void main(String[] args){ int x = 1; for(show('a'); show('b') && x<3;show('c')){ show('d'); x++; } } public static boolean show(char ch){ Syste...原创 2019-05-27 20:01:31 · 2000 阅读 · 1 评论 -
Java_多态01_父类引用指向子类对象
F x=new S();父类引用,指向子类对象声明空间是F类型的,但在堆中创建的却是S类型的父类:F子类:S父类引用:x作用:在多态参数中起作用多态关注的主要是方法,不关注属性父类引用指向子类对象,子类要重写父类中相同的方法才有意义package day12;//多态的应用://需求:School 可以方法record,要求在record中可以调用到java...原创 2019-05-18 16:21:07 · 190 阅读 · 0 评论 -
Java String和一般引用对象的区别
String s1 = "abc"; String s2 = "abc"; String s3 = new String("abc"); System.out.println(s1==s2); //true System.out.println(s1==s3); //false用String定义字符串变量时,会先在常量池里面找有没有字符串abc,如果没有就把字符串abc放...原创 2019-05-28 19:55:52 · 1415 阅读 · 0 评论 -
HashSet,TreeSet和LinkedHashSet的区别
原文链接:https://www.cnblogs.com/Terry-greener/archive/2011/12/02/2271707.htmlSet接口Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false。Set判断两个对象相同不是使用==运算符,而是根据equals方法。也就是说,只要两个对象用equals方法比较返回true,Set就不 会...转载 2019-06-05 16:22:03 · 1859 阅读 · 0 评论 -
Java二维数组的错误写法分析
参考地址:http://c.biancheng.net/view/916.html声明的正确写法:int [][] temp = new int[2][]; //限定了一维数组的个数int [][] temp = new int[2][3]; //限定了一维数组的个数和每个一维数组的长度int [][] temp; //对一维数组的个数和一维数组的长度都没有限定int [][]te...原创 2019-05-31 08:39:01 · 2633 阅读 · 0 评论 -
Java多态语法及实现简述
多态:一个事物的多种表现形态。(两个或两个以上的对象在调父类中的方法时,实现了各自的内容)多态代码:父类 对象 = new 子类(); //父类引用指向子类对象子类 对象 = new 父类(); //不可以多于多态来说,编译状态(看左边的类型) ,运行状态(看右边的类型)实现:向上转型 : 父类 对象 = new 子类(); 理...原创 2019-05-30 21:19:01 · 623 阅读 · 0 评论 -
Java包装器类的作用好处及图解
好处:1 类里有相应方法方便用户调用2 可以用类的对象和null进行比较,避免java.lang.nullPointException 基本类型 包装器类型 byte Byte short Short int Integer ...原创 2019-05-30 21:05:45 · 1307 阅读 · 0 评论 -
Java局部变量与成员变量的定义位置及区别
语法:成员变量:访问权限修饰符 修饰符 类型 属性名;局部变量:修饰符类型 属性名;局部变量没有访问权修修饰符(public private...),但有修饰符static (静态)final(常量)transient (该属性不能被序列化)volatile 线程安全定义位置:成员变量:类中,方法外局部变量:方法里、方法的参数、代码块中不是在类中方法外的一般都...原创 2019-05-28 09:27:16 · 2871 阅读 · 5 评论 -
Java全排列算法
原文地址:https://www.cnblogs.com/zhouthanos/p/3807495.html问题:给出一个字符串,输出所有可能的排列。全排列有多种算法,此处仅介绍常用的两种:字典序法和递归法。1、字典序法:如何计算字符串的下一个排列了?来考虑"926520"这个字符串,我们从后向前找第一双相邻的递增数字,"20"、"52"都是非递增的,"26 "即满足要求,称前一个...转载 2019-05-27 21:43:41 · 300 阅读 · 0 评论 -
Java访问权限修饰符的区别
访问修饰符 同一个类 同包 不同包,子类 不同包,非子类 private √ 默认 √ √ protected √ √ √ public √ √ √ √ 类、成员变量(属性)、方法最前面可用访问权限修饰符局部变量前面不可以加访问权...原创 2019-05-27 21:29:38 · 223 阅读 · 0 评论 -
Servlet跳转页面的几种方法总结
原文:http://hryblog.cn https://blog.csdn.net/hry1243916844/article/details/71425279servlet跳转页面的方法:跳转分为两部分,一部分发生在servlet,另一部分发生在JSP,JSP就是servlet,但是两者还是有部分差异。Servlet:(跳转发生在doGet,doPost等方法里)(1)redi...转载 2019-07-10 22:41:41 · 714 阅读 · 0 评论