Java
Am0o0s
这个作者很懒,什么都没留下…
展开
-
Java工具类源码学习记录
好的工具类都有哪些通用的特征写法构造器必须是私有的。这样的话,工具类就无法被 new 出来,因为工具类在使用的时候,无需初始化,直接使用即可,所以不会开放出构造器出来。工具类的工具方法必须被 static、final 关键字修饰。这样的话就可以保证方法不可变,并且可以直接使用,非常方便。注意:尽量不在工具方法中,对共享变量有做修改的操作访问(如果必须要做的话,必须加锁),因为会有线程安全的问...原创 2020-03-12 21:31:10 · 145 阅读 · 0 评论 -
Java 常用关键字理解
static代码执行顺序父类静态变量初始化父类静态块初始化子类静态变量初始化子类静态块初始化main 方法执行父类构造器初始化子类构造器初始化父类的静态变量和静态块比子类优先初始化;静态变量和静态块比类构造器优先初始化。final被 final 修饰的类,表明该类是无法继承的;被 final 修饰的方法,表明该方法是无法覆写的;被 final 修饰的变量,说明该变量在声...原创 2020-03-12 20:47:41 · 122 阅读 · 0 评论 -
String、Long 源码解析学习记录
String源码public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char value[];} ...原创 2020-03-12 20:25:02 · 118 阅读 · 0 评论 -
Tomcat安装-环境变量配置-启动-关闭
Tomcat是一个Javaweb服务器,Apache软件基金会的软件之一。因此Tomcat也是一款开源软件。因为Tomcat是使用Java语言编写的,因此安装Tomcat之前需要安装jak类unix操作系统安装下载好软件包直接用命令安装即可,并利用export命令配置环境变量Windows平台官网或者镜像站下载Tomcat Installer,一路next即可。类unix平台启动环境...原创 2020-02-16 17:02:21 · 156 阅读 · 0 评论 -
Java中“==”和equals()的区别
java刚刚考完试没过多久,有些知识点模糊了,今天在做别的事时忽然发现==和equals()比较的区别忘记了,网上搜集资料,特此记录。“==”基本数据类型:它们之间使用“==”比较,比较的是它们的值。引用数据类型:它们之间用“==”进行比较时,比较的是他们在内存中存放的地址(堆内存首地址);equals()equals()方法时Object类中的方法。① 当使用Object...转载 2020-01-26 12:36:17 · 293 阅读 · 0 评论 -
java基础排疑
Date(int year,int month,int date)构造方法已经过时,Date类中只有两个构造方法是建议使用的,一个是无参的构造方法Date(),用来创建当前日期时间的Date对象。另一个是接收一个long型参数date的构造方法Date(long date),用于创建指定时间的Date对象。...原创 2019-12-26 21:51:26 · 195 阅读 · 0 评论 -
Java基础排疑3
intern() 方法返回字符串对象的规范化表示形式。它遵循以下规则:对于任意两个字符串 s 和 t,当且仅当 s.equals(t) 为 true 时,s.intern() == t.intern() 才为 true。面向对象的特点主要可以概括为封装性、继承性和多态性。调用构造方法创建对象实例化对象时 ,Java虚拟机会自动为成员变量进行初始化,针对不同类型的成员变量,Java虚拟机会赋...原创 2019-12-24 22:41:58 · 1056 阅读 · 0 评论 -
Java基础排疑
java中的整型数据默认是int类型,long d=8888888888;它的值超过了int类型的范围,这时如果要描述成一个long数据,必须在值后面加上L后l。下列选项中,不属于Java中关键字的是A. constB. falseC. FinalD. null答案:C解析:Java中的关键字都是小写的正确配置classpath的命令是( )set classpath =C:\...原创 2019-12-23 23:22:02 · 1180 阅读 · 0 评论 -
Java基础排疑1
当创建Random类的实例对象时,如果指定了相同的种子,则每个实例对象产生的随机数具有相同的序列,调用nextInt(int in)方法时产生的随机数在(0 =< 参数值)之间。arraycopy()方法从指定源数组srcArray角标为1处开始,复制2个长度的数组,复制的数组替换掉目标数组destArray从角标2开始的2个长度的子数组。也就是说,将srcArray中 的12, 13两个...原创 2019-12-22 14:20:51 · 882 阅读 · 0 评论 -
Java基础教程第4章面向对象
一、填空题1、方法,抽象类2、子类、父类、基类3、final4、Object5、参数列表、“->”、表达式主体二、判断题1、错 2、对 3、错 4、对 5、错三、选择题1、B 2、ABC 3、C 4、C 5、A四、简答题1、在继承关系中,子类的方法与父类的某一方法具有相同的方法名、返回类型和参数列表,则称子类的该方法...原创 2019-12-09 20:51:32 · 1660 阅读 · 0 评论 -
Java基础教程第3章
一、填空题1、封装、继承、多态2、this3、private、default、protected、public4、静态变量5、private二、判断题1、对 2、对 3、对 4、对 5、错三、选择题1、D 2、ABC 3、A 4、D 5、BD四、简答题1、构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。而普通方法只有在使用的时候才会被调用。在定...原创 2019-12-08 21:27:53 · 970 阅读 · 0 评论 -
Java基础入门第二章答案
一、填空题1、 true和false2、 基本数据类型、引用数据类型3、 & && | ||4、 55、 56二、判断题1、 错 2、对 3、错 4、对 5、错三、选择题1、 AD 2、C 3、C 4、B 5、A四、简答题1、Java语言的八种基本数据类型有:byte字节型,占一个字节。short短整型,占两个字节。int整型,占4个字...原创 2019-12-08 21:25:56 · 5297 阅读 · 1 评论 -
Java基础入门第一章答案
一、填空题1、 Java EE、Java SE、Java ME2、 JRE3、 javac4、 bin5、 path、classpath二、判断题1、对 2、错 3、对 4、对 5、错三、选择题1、ABCD 2、C 3、D 4、B 5、B四、简答题1、 面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。2、 JRE(Java Runtime Env...原创 2019-12-08 21:17:26 · 1608 阅读 · 0 评论 -
一个可以把windows系统跑死的Java程序
public class JavaVMStackOOM { private void dontStop(){ while (true){} } public void stackLeakByThread(){ while (true){ Thread thread = new Thread(){ ...原创 2019-12-01 21:56:32 · 502 阅读 · 0 评论 -
使用HashSet存储自定义类对象时为什么要重写equals和hashCode方法?
在Java集合的运用中,HashSet抽象类实现了Set接口,我们可以通过HashSet存储Java中定义过的类创建的对象,当然也可以存储我们自定义的类创建的对象。但是在存储自定义类创建的对象时,就会遇到实际问题导致的漏洞,hash的是产生的对象,并不是对象里面的值,当产生两个对象时,他们里面的值却是相同的,这就会插入两个相同的值进入集合,这不是我们想要的,因此需要重写equals和hashCo...原创 2019-11-24 23:27:00 · 535 阅读 · 0 评论 -
hashcode()和equals()的作用&区别
hashCode()方法和equal()方法的作用其实一样,在Java里都是用来对比两个对象是否相等一致,那么equal()既然已经能实现对比的功能了,为什么还要hashCode()呢?因为重写的equal()里一般比较的比较全面比较复杂,这样效率就比较低,而利用hashCode()进行对比,则只要生成一个hash值进行比较就可以了,效率很高,那么hashCode()既然效率这么高为什么还要eq...原创 2019-11-17 14:11:20 · 1108 阅读 · 0 评论 -
Hashcode方法代码解析
这是Java中的String类型hashpublic int hashCode() { int h = hash; if (h == 0 && value.length > 0) { char val[] = value; for (int i = 0; i < value.length...原创 2019-11-17 14:10:23 · 2589 阅读 · 0 评论 -
Java之字符串比较大小
1.compareTo比较数据的大小compareTo(string)compareToIgnoreCase(String)compareTo(object string)通过使用上面的函数比较两个字符串,并返回一个int类型。若字符串等于参数字符串、则返回0,字符串小于参数字符串、则返回值小于0,字符串大于参数字符串、返回值大于0。(ASCII码)判断字符串大小的依据是根据他们在字典中...原创 2019-11-09 21:52:32 · 2218 阅读 · 0 评论 -
Java报错之StackOverflowError
StackOverflowError原因 : 函数调用栈太深了,注意代码中是否有了循环调用方法而无法退出的情况原理:StackOverflowError 是一个java中常出现的错误:在jvm运行时的数据区域中有一个java虚拟机栈,当执行java方法时会进行压栈弹栈的操作。在栈中会保存局部变量,操作数栈,方法出口等等。jvm规定了栈的最大深度,当执行时栈的深度大于了规定的深度,就会抛出St...原创 2019-11-09 21:46:25 · 1352 阅读 · 0 评论 -
Java作业(随机生成100个数 输出大于50的数 输出最大最小值 )
随机生成100个数输出大于50的数输出最大最小值```java/** * @author HighBox */public class MathDemo { public static void main(String []args) { double [] a=new double [100]; double max=a[0]; ...原创 2019-11-01 22:21:56 · 3914 阅读 · 0 评论 -
Java牛角尖问题之类的初始化顺序
1.1、一个类中的初始化顺序类内容(静态变量、静态初始化块) => 实例内容(变量、初始化块、构造器)1.2、两个具有继承关系类的初始化顺序父类的(静态变量、静态初始化块)=> 子类的(静态变量、静态初始化块)=> 父类的(变量、初始化块、构造器)=> 子类的(变量、初始化块、构造器) 1 class A { 2 public A() { 3 ...原创 2019-10-27 13:52:34 · 831 阅读 · 0 评论 -
Java牛角尖问题之static 静态变量和静态代码块的执行顺序
最近两个月开始学Java,学习的过程中也有一些牛角尖问题,本系列将于大家分享出来众所周知 在android中static 修饰的会被称之为 静态常量,静态变量, 静态方法 ,还有就是静态代码块,用static{ // 代码块 非static修饰的方法,变量,常量, 是不能再静态代码块中使用的 } 表示。static修饰的 是跟着类走的, 而不是跟随对象,这个大家都是知道的。 那么大家是否知道它...原创 2019-10-27 13:50:04 · 759 阅读 · 0 评论 -
JMMjmm模型
JMM :java内存模型 满足多线程并发设计的需要,保证多线程的安全规范JMM是标准话的,用于屏蔽掉各种硬件和操作系统的内存访问差异读取数据并不是直接冲内存中读,而是将内存中的变量拷贝到缓存当中,在自己的工作区内存中使用...原创 2019-10-15 21:47:13 · 156 阅读 · 0 评论 -
深入理解Java虚拟机JVMjvm
jvm包括类加载子系统,字节码执行引擎(执行代码),运行时数据区(内存区域最重要包括(堆(new出来的对象),栈(线程(存放局部变量),所以又叫做线程栈),本地方法栈,程序计数器,方法区(元空间))。main线程会分配一个栈内存空间,供线程专享。栈内部结构复杂{栈的内部由栈帧组成,每运行一个方法,分配一块内存区,这样的一个方法对应的内存区,叫做栈帧。main方法也分配一个内存区域。这样叫栈...原创 2019-10-14 22:38:46 · 131 阅读 · 0 评论 -
javaJava冒泡排序
public class bubules { public static void main(String[]args) { int []a={25,24,12,76,101,96,28}; for (int i=1;i<a.length;i++) { for (int j=0;j<a.length...原创 2019-10-13 23:32:32 · 73 阅读 · 0 评论 -
Java父类Shape
package com.itheima;public class Shape { public double getArea() { return 1.0; }}原创 2019-10-13 20:16:18 · 359 阅读 · 0 评论 -
Java圆形继承Shape
package com.itheima;/** * @author SAMSUNG */public class Circle extends Shape { private int radius; public void Circle() { } public void Circle(int r) { this.radius=r; } @Override p...原创 2019-10-13 20:15:42 · 611 阅读 · 0 评论 -
Java矩形类继承Shape
package com.itheima;/** * @author SAMSUNG */public class Rectangle extends Shape{ private int lo; private int wi; public void Rectangle() { } public void Rectangle(int l,i...原创 2019-10-13 20:15:01 · 850 阅读 · 0 评论 -
Java三角形类继承Shape
package com.itheima;public class Triangle extends Shape { private int a; private int b; private int c; public Triangle() { } public Triangle(int aa,int bb,int cc) { ...原创 2019-10-13 20:12:56 · 1961 阅读 · 0 评论 -
Java接口的实现理解
接口定义方法,而没有具体的实现。B类实现了A接口,就是B类把A接口中定义的所有方法都实现了;A接口定义的方法在B类中一个都不能少,都要去具体实现。X类继承了Y类,X类就可以直接使用Y类中的方法(不用去实现Y类中的方法,方法已经实现了,当然抽象类例外哦)。extends,表示对父类的继承,可以实现父类,也可以调用父类初始化 this.parent()。而且会覆盖父类定义的变量或者函数。imp...原创 2019-10-13 00:29:37 · 253 阅读 · 0 评论