自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 Java System类、Math类、BigInteger类、BigDecimal类

System类System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。由于该类的构造器是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便的进行调用。成员变量System类内部包含in、out和err三个成员变量,分别代表标准输入流(键盘输入),标准输出流(显示器)和标准错误输出流(显示器)。成员方法native long currentTimeMillis(): 该方

2022-02-12 23:32:12 139

原创 Java比较器

自然排序:java.lang.ComparableComparable接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序实现 Comparable 的类必须实现 compareTo(Object obj) 方法,两个对象即通过 compareTo(Object obj) 方法的返回值来比较大小。如果当前对象this大 于形参对象obj,则返回正整数,如果当前对象this小于形参对象obj,则返回负整数,如果当前对象this等于形参对象obj,则返回零。实现Comparable

2022-02-12 23:23:35 123

原创 JAVA 日期时间API

JDK 8 之前java.lang.System类System类提供的public static long currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。java.util.Date类表示特定的瞬间,精确到毫秒构造器: Date():使用无参构造器创建的对象可以获取本地当前时间。 Date(long date)常用方法: getTime():返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date

2022-02-12 09:30:12 312

原创 Stringbuffer添加null会怎样

public void test(){ String str = null; StringBuffer sb = new StringBuffer(); sb.append(str);//append了四个字母 n u l l System.out.println(sb.length());//4 System.out.println(sb);//"null" StringBuffer sb1.

2022-01-29 22:28:59 1183

原创 Java String类、StringBuffer类、StringBuilder类

String类、StringBuffer类、StringBuilder类的比较类名StringStringBufferStringBuilderSinceJDK1.0JDK1.0JDK5.0是否可变否是是是否可线程安全否是否存储结构final char[]char[]char[]效率较差一般较好(比 StringBuffer快一倍左右)StringBuffer/StringBuilder类实现分析String str =

2022-01-23 11:08:57 169

原创 Java String类

JDK中的String类public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char value[]; ... }String类是final的,不可被继承。String实现了Serializ

2022-01-23 10:00:19 231

原创 Java线程的通信

wait()方法令当前线程挂起并放弃CPU、同步资源并等待,使别的线程可访问并修改共享资源,而当前线程排队等候其他线程调用notify()或notifyAll()方法唤醒,唤醒后等待重新获得对监视器的所有权后才能继续执行。notify()方法唤醒正在排队等待同步资源的线程中优先级最高者结束等待notifyAll ()方法唤醒正在排队等待资源的所有线程结束等待注意这三个方法只有在synchronized方法或synchronized代码块中才能使用,否则会报java.lang.Illeg

2022-01-22 15:30:47 273

原创 Java线程同步方法

同步代码块synchronized (对象){// 需要被同步的代码;}同步方法public synchronized void method(String name){ ….}上面两种方法都使用了synchronized关键字 有相同的地方它们都使用了隐式锁,出了作用域自动释放同步代码块的锁,即括号中的对象,又叫同步监视器,很多时候会被指定为this或类名.class同步方法的锁:静态方法(类名.class)、非静态方法(this)什么情况下会释放锁当前线程的同步方.

2022-01-22 14:19:29 153

原创 Java线程的生命周期

Java语言使用Thread类及其子类的对象来表示线程,在它的一个完整的生命周期中通常要经历如下的五种状态:新建: 当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态就绪:处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已具备了运行的条件,只是没分配到CPU资源运行:当就绪的线程被调度并获得CPU资源时,便进入运行状态, run()方法定义了线程的操作和功能阻塞:在某种特殊情况下,被人为挂起或执行输入输出操作时,让出 CPU 并临时中止自己的执

2022-01-22 13:28:02 321

原创 Java多线程的实现方式

继承Thread类1)定义一个类继承Thread,并重写Thread类的run方法2)创建该类的对象,并调用该对象的start方法例如:public class ThreadTest {public static void main(String[] args) { NewThread t1 = new NewThread(); t1.start(); for(int i=0;i<100;i++) { if(i%2==0) { System.out.println(i);

2022-01-22 11:49:41 194

原创 Java内部类使用

成员内部类public class OuterClass { public String str; public static void main(String args[]) { //静态内部类的实例化 直接new OuterClass.StaticInnerClass staicInnerClass = new OuterClass.StaticInnerClass(); System.out.println(staicInnerClass); //非静态内部类的实例化 需要

2022-01-10 11:02:43 52

原创 Java8接口新特性

静态方法public interface SuperInterfaceA { static void staticMethod() { System.out.println("SuperInterfaceA-->staticMethod"); }}public class SubClass implements SuperInterfaceA{}public class TestNewFeatures { public static void main(String[] args

2022-01-09 23:43:27 1095

原创 Java里的重写(override)和多态性

代码示例Person.javapublic class Person { public String name; public int age; public String getInfo() { return "NAME: "+ name + "\t" +"AGE: "+ age; } }Student.javapublic class Student extends Person { public String school; //重写方法 public String ge

2022-01-06 11:29:12 169

原创 Java打印数组

代码示例 int[] arr1 = new int[10]; System.out.println(arr1); //调用的是System.out.println(Object)方法 然后调用toString方法,打印类似[I@6d06d69c的内容 //正确打印数组内容的方式是使用循环遍历或者Arrays类中的toString方法 System.out.println(Arrays.toString(arr1));//打印[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

2022-01-06 10:16:59 537 1

原创 Java基本数据类型转换

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-12-31 16:17:24 102

原创 Java Integer相关的两道题目

其一 这行代码输出什么?System.out.println(true?new Integer(1):new Float(2));肯定不是2,难道是1?No,正确答案1.0原因是编译是三目运算符问号后面的表达式类型要求一致,所以前面的Integer被自动提升为Float了。其二 public static void main(String[] args) { /* * 两个通过new生成的Integer变量永远是不相等的 * (因为new生成的是两个对象,其内存地址不同)

2021-12-29 17:53:07 221

原创 Java四种权限修饰符

Java权限修饰符public、protected、private置于类的成员定义前,用来限定对象对该类成员的访问权限修饰符类内部同一个包不同包的子类同一个工程privateYes(缺省)YesYesprotectedYesYesYespublicYesYesYesYes对于class的权限修饰只可以用public和default(缺省)public类可以在任意地方被访问default类只可以被同一个包内部的类访问.

2021-12-27 20:06:09 227

原创 Jdk1.7 swtich支持String类型实现细节

问题引入最近在网上找了一些Java面试常见问题。其中有一题是这样描述的:switch语句能否作用在byte上,能否作用在long上,能否作用在String上?对于byte答案是肯定可以的long的话是不可以的,会报如下错误:Cannot switch on a value of type long. Only convertible int values, strings or enum variables are permitted...

2021-12-24 10:53:00 431

原创 Java中boolean类型到底占多少个字节

ava中定义的八种基本数据类型中,除了boolean类型没有给出具体的占用字节数外,其它七种类型都有明确的内存占用字节数。那boolean类型究竟占用多少个字节?带着疑问,网上搜索了一下,答案基本有以下三种:1、1个bit理由是boolean类型的值只有true和false两种逻辑值,在编译后会使用1和0来表示,这两个数在内存中只需要1位(bit)即可存储,位是计算机最小的存储单位。2、1个字节理由是虽然编译后1和0只需占用1位空间,但计算机处理数据的最小单位是1个字节,1个字节等于8位,实

2021-12-23 16:10:02 2272

原创 Java基本数据类型自动转换规则

Java基本数据类型自动转换规则Java的基本数据类型Java提供了八种基本类型,包括数字类型(整形、浮点型),字符类型和布尔型。整型:short, int, long, byte 浮点型:float, double 字符型:char 布尔型:booleanJava中的数值类型不存在无符号的,它们的取值范围是固定的,不会随着机器硬件环境或操作系统的改变而改变。自动转换规则布尔型不参与转换 转换规则(总): byte/char/short -> int -> lon.

2021-12-23 16:07:08 2233

原创 Java程序运行机制

2021-12-23 16:01:46 56

原创 Java1.8 安装配置

1、下载JDK直接官网下载:http://www.oracle.com/2、点击安装一路next【也可以做一些定制,比如修改安装目录,安装一些可选功能】3、配置环境变量右键单击计算机->属性->高级系统设置,选择“环境变量”。在“系统变量”栏下单击“新建”,创建新的系统环境变量。 点击新建:变量名"JAVA_HOME",变量值"C:\Program Files\Java\jdk1.8.0_152"【Java安装目录】,点击确定新建; 编辑->变量名"Path",在原

2021-12-23 15:59:14 1342

原创 Java的特性和优势

简单性Java就是C++语法的简化版,我们也可以将Java称之为“C++-”,指的就是将C++的一些内容去掉;比如:头文件,指针运算,结构,联合,操作符重载,虚基类等等。同时,由于语法基于C语言,因此学习起来完全不费力。面向对象面向对象是一种程序设计技术,非常适合大型软件的设计和开发。这一点跟C语言有很大的不同。我认识好多C的程序员,他们都跟我讲过同样的话,感觉C语言用多了,再去学Java,思想一下转变不过来,对C越熟悉这种感觉就越强烈。可移植性这是Java的核心优势,Java在设计时就很注重

2021-12-23 15:45:19 864

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除