![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java初级入门
文章平均质量分 57
嫌疑-人
只有面对喜欢的东西,才配得上说是坚持。
展开
-
java 字符串判断空和非空的工具类
字符串判空在使用时用到的非常多,我们可以把该判断方法抽象成一个工具类/** *类名称:StringUtil *创建时间:2018年3月22日上午10:23:56 */public class StringUtil { //判断字符串非空(2个条件): //1.引用非空-null //2.非空字符串-" " public static boolea...原创 2018-03-22 10:36:13 · 3278 阅读 · 1 评论 -
java中打印对象和toString()重写
Object是java语言的基类,是所有类的直接父类或间接父类常见的方法:1.Boolean equals(Object obj)当前对象和obj对象进行比较在Object中,equals()方法比较的是对象的内存地址,相当于“ == ”;所以官方建议在创建的类中重写方法equals(),使其比较其内容。在string类中,重写了equals()方法覆盖了O原创 2017-07-07 21:53:05 · 1905 阅读 · 0 评论 -
java中super的作用及子类对象的创建过程
1.super可以用于在子类方法中调用父类的方法(被覆盖的也可以调用)相当于this,只不过只在子类的方法中使用2.子类对象的创建在创建子类对象时,调用子类构造器时,会先调用父类的无参构造器。(所以在一般定义类时都会先定义一个无参构造器,以便于继承。)如图:创建子类对象时在此段代码中,如果父类中没有无参构造器,则会报错。原创 2017-07-07 21:43:12 · 810 阅读 · 0 评论 -
java继承简述及方法覆盖
1.继承---解决代码的重复问题。---实际上是构造一个体系2.结构extends减少代码重复3.java中的继承规则-- 在java中除了object类外,其他类都有一个直接父类(非直接父类:父类的父类),每一个类都是object的子类。-- java中支持多重继承,但不支持多继承原创 2017-07-07 21:37:04 · 614 阅读 · 0 评论 -
java定时器和线程组
可以定时执行指定的任务,可以用于做电子时钟,闹钟,窗口的晃动(根据特定的时间段改变窗口对于桌面的位置)TimerTaskTimer这个类是线程安全的:多个线程可以共享一个单一的Timer对象而不需要外部同步。电子时钟简例import java.util.Date;import java.util.Timer;import java.util.TimerTask;public class T原创 2017-07-16 19:13:38 · 297 阅读 · 0 评论 -
java线程礼让
yield()方法:表示当前线程对象提示调度器自己愿意让出CPU资源,但是调度器可以自由忽略。调用该方法后,线程对象处于就绪状态,所以完全有可能:某个线程调用yield()方法后,调度器又把它调度出来重新运行。只是一种意愿,不保证行动。谁先执行还要由JVM决定。在开发中一般不会用到该方法,只在调试或测试的时候用sleep()和yield()的区别都能是调用的线程放弃CPU,把运行机会给其他线原创 2017-07-16 18:03:02 · 676 阅读 · 0 评论 -
java线程优先级
每一个线程都有优先级,但是并不是优先级高的线程会先执行,优先级高的执行的次数会比较多,具体的执行顺序还是根据JVM的调度。在Thread类中有三个字段来表示线程的优先级MAX_PRIORITY : (10)最高优先级 MIN_PRIORITY: ( 1 ) 最低优先级 MORE_PRIORITY: (5) 默认优先级获取和设置线程的优先级 在Thread类原创 2017-07-16 17:45:20 · 258 阅读 · 0 评论 -
java线程的六大状态
在java的API中线程的六个状态:1.新建状态(new):使用new创建一个线程对象,仅仅在堆内存中分配一个内存空间(和普通的创建对象一样),在调用start方法之前,在此状态下,线程没有启动,只是一个普通的线程对象。Thread t=new Thread();//新建状态当在新建状态下,线程对象调用start方法,从新建状态进入可运行原创 2017-07-14 13:19:21 · 546 阅读 · 0 评论 -
java的sleep(),join()和后台线程详解
java的sleep(),join()和后台线程详解线程睡眠Sleep()方法在Thread类中有两个sleep()方法,但是计算机硬件很难精确到纳秒,所以我们输入的数字一般以毫秒为单位。调用方法之后,当前线程会放弃cpu,至指定的时间段内,该线程不会获得执行的机会。但是在这段时间内该线程依然持有同步锁。该方法最多的应用于模拟网络延迟,让多线程并发访问一个资源对象的错误效果更加明显。原创 2017-07-16 10:29:16 · 931 阅读 · 0 评论 -
java中修饰符的作用范围和this关键字
1.修饰符权限2.JavaBean规范Java语言写的可重用的组件(类)1).字段必须使用private修饰 // 信息隐藏2).类必须使用public修饰 //可重用3).手动写构造函数时,必须先写一个空参空块的构造函数。4).必须使用getter来获取字段的的值,使用setter给私有字段赋值public S原创 2017-07-06 22:28:42 · 1357 阅读 · 0 评论 -
java中import的简述
1.import作用如果在当前A包中,想使用B包中的类,则可以使用import 关键字进行导入。格式:import 包名.类名 // eg:import java.util.Arrays;如果想调用该类的方法使用:Arrays.sort();调用注意:= 对于java.lang 中的类系统会自动导入。eg: System / String原创 2017-07-06 22:24:50 · 1259 阅读 · 0 评论 -
java中的包简述
1. 简介package将多个类放在一起,便于使用和查找2.package 语法格式放在类的第一行,来表示该类的class 文件所属的包package 包名package 包名.子包名3.由控制台编译运行编译:javac -d . Hello.java如果在代码中使用了package语句,则生成一个有该包名的包,其.class文原创 2017-07-06 22:22:44 · 546 阅读 · 0 评论 -
java多态详解及方法调用问题
1.多态的定义存在情况:继承关系 (类和类), 实现关系(接口和类)在开发中,一般用于实现关系中,现在先说一下简单的继承关系中的多态定义:将子类对象赋值给父类,也就是将子类看作一个特殊的父类,是父类的一个对象,具体实现代码如下:编译和运行不同类型,运行的时候调用子类的方法。2.多态的好处屏蔽了不同子类对象的实现差异。原创 2017-07-07 22:14:19 · 527 阅读 · 0 评论 -
java中的组合关系
1.引入组合面向对象的三大特征:多态,继承,封装继承:提高代码的复用,但是子类可以改变父类中的代码。继承破坏了封装所以,提高代码的复用,还可以用包含关系(组合)继承组合2.两种方式的选择从一般到特殊关系(A是B的一种特殊情况),用继承,否则用组合。谢谢阅读!原创 2017-07-07 22:17:01 · 472 阅读 · 0 评论 -
Java中System类
1.SystemSystem中常用的的方法:1.1数组的copystatic void arraycopy (object src,int srcPost,object dest ,int destPost,int length)静态方法直接使用类名调用:System.arraycopy()1.2获取当前系统时间的毫秒数主要用于测试某个操作的损耗时间原创 2017-07-09 09:53:00 · 325 阅读 · 0 评论 -
java中的编码规范
1 为什么要有编码规范(Why Have Code Conventions)编码规范对于程序员而言尤为重要,有以下几个原因:- 一个软件的生命周期中,80%的花费在于维护- 几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护- 编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码- 如果你将源码作为产品发布,就需要确任它是否原创 2017-07-09 09:48:06 · 308 阅读 · 0 评论 -
java接口interface详解
1.引入接口Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。定义接口的语法:【public】interface 接口名1)接口比抽象类还要抽象,其中只能有抽象方法(java8可以有不是抽象的方法)2)接口中没有构造器,不能创建对象。原创 2017-07-08 21:24:41 · 552 阅读 · 0 评论 -
java内部类详解
1.内部类的作用1)增强封装,将外部类隐藏在内部类之内,不允许其他类访问2)提高代码的可读性和可维护性3 )内部类可以直接访问外部类内部类编译之后会产生一份单独的字节码文件2.内部类的分类外部类 要么使用public修饰要么缺省内部类 相当于外部类的一个成员,好比字段,那么可以用 public/protected/缺省/private/s原创 2017-07-08 21:29:54 · 202 阅读 · 0 评论 -
java枚举类详解
1.引入枚举枚举是从java5开始提供的一种新的数据类型,是一个特殊的类。就是固定的多个常量对象的集合。定义格式:【修饰符】enum 名称{常量a,常量b,常量c ;}2.枚举应用我们所定义的所有enum类都继承于 java.lang.Enum类。关于枚举类的构造器1.1枚举列表必须写在最前面,否则编译原创 2017-07-08 21:31:38 · 358 阅读 · 0 评论 -
java中String和StringBuffer的传参与区别
1.String和StringBuffer的传递在一个论坛里看到说:java里只有值传递可以这样理解吧:在java中的引用传递是通过对象实现的。(一个对象的值其实是这个对象的地址)string:内存图StringBuffer://输出:a=AB,b=B内存原创 2017-07-08 21:22:48 · 921 阅读 · 0 评论 -
JAVA抽象类的详解及应用
1.引出抽象类1)子类必须覆盖父类的抽象方法2)该抽象方法中没有方法体2.抽象方法用abstract修饰的没有方法体的方法,存在于抽象类和接口中,只有被继承,覆盖才有意义。*1.没有方法体,留给子类去实现(子类必须覆盖抽象方法)*2.不能用private(子类不能继承,不能使用),static(static是属于类级别的,不能实现方法的覆盖(对象级别原创 2017-07-08 13:27:54 · 329 阅读 · 0 评论 -
java把大数据类型的包装类
1.八种基本类型的包装类都用final修饰,最终类,不可被继承。2.引入在解决实际问题中,由于基本数据类型不是对象,所以处理起来比较困难,所以将其包装起来,包装成对象,先创建一个基本类型的类。其实在java.lang 包(不需要导入)中存在八中数据类型的包装类。3.封箱与拆箱封箱:将一个基本数据类型的值原创 2017-07-08 11:58:21 · 361 阅读 · 0 评论 -
java单例设计模式
单例设计模式作用:重用代码,增加可靠性,和代码的可读性单例设计模式是最简单,最常用的一种设计模式,即保证在整个项目中,每一个类有且仅有一个实例(只存在一个对象)。用途:一般用于工具类原创 2017-07-08 11:43:00 · 145 阅读 · 0 评论 -
java中static代码块,final关键字
1.字段不存在多态性字段没有覆盖,只有隐藏。调用的是哪一个类中的字段是在编译的时候就已经决定了由编译类型SuperClass决定2.代码块在{ }内的是一个代码块1)在类内的代码块作用:初始化。一般不使用2)在类内的静态代码块(static)作用:初始化操作,加载资源,加载配置文件原创 2017-07-08 11:29:18 · 409 阅读 · 0 评论 -
java变量的类别和作用范围
1.类别及作用范围@类变量——在类中用static修饰的字段存储位置:方法区生命周期:随着JVM的消亡而消失,生命周期最长@局部变量——在方法中存在的,或者形参存储位置:栈帧中生命周期:随着方法的调用而存在,生命周期最短@实例变量——在类中存在不用static修饰的字段存储位置:堆生命周期:随着对象的创建而存在2.原创 2017-07-06 22:15:29 · 1259 阅读 · 0 评论 -
java中static修饰符详解
1.static特点static可以用来修饰 字段,方法,内部类static修饰的属于类,而不属于对象,是整个类所共有的,随着类的加载而加载于内存之中,是优先于对象的用对象访问static所修饰的字段,方法,内部类,其实在底层是使用类名调用的,和方法没有任何关系。2.static修饰的在JVM中的存储位置static再JVM中存储在方法区,是所有的对象所共原创 2017-07-06 22:10:11 · 701 阅读 · 0 评论 -
java中的运算符和表达式详解
java运算符及表达式的详解原创 2017-07-04 21:59:20 · 653 阅读 · 0 评论 -
java八大数据类型详解及其变量详解
java吧大数据类型详解,java变量详解及其变量初始化原创 2017-07-04 21:49:09 · 2750 阅读 · 0 评论 -
java解决线程不安全问题的方法
线程不安全问题当多线程并发访问同一个资源时,容易出现不安全问题 有时候我们分析打印结果,发现没有问题,但是并不是真的没问题,可能我们经验不够,没有发现问题。为了放大问题是用Thread中的sleep()方法Thread.sleep(100); //是当前线程睡眠100毫秒,让原创 2017-07-10 21:56:18 · 3302 阅读 · 0 评论 -
java线程详解
1.几个关键词的理解并行(微观):两个或多个事件在同一时刻点发生。并发:两个或多个事件在同一时间段内发生进程:一个内存中运行中的程序,每个进程都有自己独立的一块空间。进程之间通信极不方便。一个进程中至少有一个线程(有独立的内存空间)线程:进程中的一个执行任务,一个进程可以同时并发运行多个线程(堆空间是共享的,栈空间是独立的)多进程:操作系统中同时运行多个程序原创 2017-07-10 21:51:20 · 255 阅读 · 0 评论 -
java异常分类和throws
1.异常的分类(Exception分为RuntimeException和编译异常)编译异常:受检查异常,必须要处理运行异常:不受检查异常,可不处理注意:一般使用不受检查异常(RuntimeException),可处理可不处理。2.throw :用于方法的内部,返回一个错误后,(和return一样)结束方法。抛出异常的一个具体的对象语法结构:throw n原创 2017-07-10 21:48:44 · 409 阅读 · 0 评论 -
java异常体系详解
1.引出异常体系在c语言中没有异常处理机制。在java中有。异常出现后,程序会中断,所以必须处理异常2.异常体系java中Throwable这个类可以被作为异常抛出的类,继承它的分为异常Exception和错误Error.Error表示系统级别的错误和程序无需处理的。原创 2017-07-10 21:46:16 · 340 阅读 · 0 评论 -
java程序所需要的环境变量及配置
java程序所需要的环境变量及配置,以及java关键字的使用原创 2017-07-03 20:28:55 · 2543 阅读 · 1 评论 -
java日期类详解及其应用
Java 的日期和时间类位于 java.util 包中。利用日期时间类提供的方法,可以获取当前的日期和时间,创建日期和时间参数,计算和比较时间。1.Date 类Date 类是 Java 中的日期时间类,其构造方法比较多,下面是常用的两个:Date():使用当前的日期和时间初始化一个对象。Date(long millisec):从1970年01月01日00时(格林原创 2017-07-09 11:45:59 · 415 阅读 · 0 评论 -
java随机数Random(生成验证码)
1.Random (伪随机数)java.util.Random类有两种方式构建方式:带种子和不带种子不带种子:此种方式将会返回随机的数字,每次运行结果不一样带种子:此种方式,无论程序运行多少次,返回结果都是一样的2.ThreadLocalRandomThreadLocalRandom是JDK 7之后提供并发产生随机原创 2017-07-09 10:49:39 · 6614 阅读 · 0 评论 -
Stiring,StringBuffer,StringBuilder的比较及其常用方法
1.java中string和stringbuffer,StringBuilder的区别1)对于直接相加字符串,效率很高,因为在编译器便确定了它的值,也就是说形如"I"+"love"+"java"; 的字符串相加,在编译期间便被优化成了"Ilovejava"。这个可以用javap -c命令反编译生成的class文件进行验证。对于间接相加(即包含字符串引用),形如s1+s2+s原创 2017-07-09 10:38:41 · 472 阅读 · 0 评论 -
String类中常用的方法及字符串为空的判断
字符串概述:不可变字符串:String:创建一个对象后,其内容不能再改变可变字符串:StringBuffer 和StringBuilder:创建对象后,其中的可以改变内容。这三种类型在底层都是包装的char 类型的数组1.String创建后不能改变,一旦改变就是一个新的对象。String的对象创建:— 直接创建 Str原创 2017-07-09 10:24:38 · 3194 阅读 · 0 评论 -
java线程通信wait()和notify()机制
1.案例在网上看的视频把它总结了一下。* 以前的资源对象保证不了,生产者生产一个数据,消费者消费一个数据,出现顺序不一致的情况,导致消费者一直消费一个数据,所以提出wait()和notify()。//改进后的共享资源类/** * 以前的资源对象保证不了,生产者原创 2017-07-12 22:47:50 · 284 阅读 · 0 评论 -
java 线程通信Lock和condition接口
首先说一下Lock和synchronize在线程通信方面的区别:从语义功能上来说二者是一样的,但是Lock更加直接的面向对象,synchronize代码块会自动获取同步锁,自动释放锁,而Lock根本没有锁的对象,需要我们手动的获取和释放.下面是在上一篇的基础上修改后的代码:import java.util.concurrent.locks.Condition;impo原创 2017-07-13 22:53:10 · 244 阅读 · 0 评论 -
java构造器详解(缺省,自定义,重载)
1.构造器的概述eg: Student s1=new Student(); //调用构造方法作用1)创建对象,必须和new一起使用创建对象其实就是调用构造方法2)进行对象的初始化特点1)构造器名称和该类名相同2)不能有返回类型,因为每个构造方法的返回值都是该类的类型,所以都省略不写3)不能用return语句,构造其实有原创 2017-07-06 22:00:35 · 1357 阅读 · 0 评论