java学习笔记
Java-我去
这个作者很懒,什么都没留下…
展开
-
idea 快捷键
Ctrl 快捷键Ctrl + G 在当前文件跳转到指定行处Ctrl + U 前往当前光标所在的方法的父类的方法 / 接口定义 (必备)Ctrl + B 等于Ctrl + 左键单击 进入光标所在的方法/变量的接口或是定义处Ctrl + F12 弹出当前文件结构层Alt 快捷键Alt + Q 弹出一个提示,显示当前类的声明 / 上下文信息Alt + 前方向键 当前光标跳转到当前文件的前一个方法名位置 (必备)Alt + 后方向键 当前光标跳转到当前文件的后原创 2020-06-09 16:33:18 · 475 阅读 · 0 评论 -
commons-lang3
commons-lang3判断为空,两个方法的区别EmptyStringUtils.isNotEmpty(null) = false StringUtils.isNotEmpty("") = false StringUtils.isNotEmpty(" ") = true StringUtils.isNotEmpty("bob")原创 2016-05-14 13:34:49 · 2782 阅读 · 0 评论 -
Java volatile 关键字
Java volatile 关键字在Java中,valatile关键字被用来标识一个Java变量 ”being stored in main memory“。更准确地讲,每次读取一个volatile变量都会从主存中去读,而不是从CPU缓存中;每次修改一个volatile变量都会将其写入到主存中,而不仅仅是CPU缓存中。保证内存可见性在一个多线程的程序中,多个线程操作一个非volatile修饰的变量,转载 2016-04-28 21:11:09 · 362 阅读 · 0 评论 -
内部类
一、为什么要使用内部类每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响,在我们程序设计中有时候会存在一些使用接口很难解决的问题,这个时候我们可以利用内部类提供的、可以继承多个具体的或者抽象的类的能力来解决这些程序设计问题。可以这样说,接口只是解决了部分问题,而内部类使得多重继承的解决方案变得更加完整,其实使用内部类最大的优点就原创 2016-03-22 22:36:49 · 398 阅读 · 0 评论 -
Java对象的序列化和反序列化
一、序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。 在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是转载 2016-03-21 23:38:25 · 327 阅读 · 0 评论 -
java 的 Thread_wait、notify、notifyAll的使用方法
wait()、notify()、notifyAll()是三个定义在Object类里的方法,可以用来控制线程的状态。这三个方法最终调用的都是jvm级的native方法。随着jvm运行平台的不同可能有些许差异。•如果对象调用了wait方法就会使持有该对象的线程把该对象的控制权交出去,然后处于等待状态。•如果对象调用了notify方法就会通知某个正在等待这个对象的控制权的线程可以继续运行。转载 2015-10-31 11:07:43 · 461 阅读 · 0 评论 -
Callable与Future的介绍
Callable与 Future 两功能是Java在后续版本中为了适应多并法才加入的,Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其他线程执行的任务。Callable的接口定义如下;public interface Callable { V call() throws Exception;转载 2015-10-30 15:17:48 · 438 阅读 · 0 评论 -
NIO socket
package thread;import java.net.*;import java.io.*;import java.nio.*;import java.nio.channels.*;import java.nio.charset.*;/** * Description: * 网站: 疯狂Java联盟 * Copyright (C), 2001-2016, Yeeku.H原创 2015-10-28 16:16:05 · 419 阅读 · 0 评论 -
java 线程
sleep 方法sleep相当于让线程睡眠,交出CPU,让CPU去执行其他的任务。syield方法leep方法不会释放锁,也就是说如果当前线程持有对某个对象的锁,则即使调用sleep方法,其他线程也无法访问这个对象yield方法调用yield方法会让当前线程交出CPU权限,让CPU去执行其他的线程。它跟sleep方法类似,同样不会释放锁。但是yield不能控制具体的交出原创 2015-11-04 20:37:18 · 368 阅读 · 0 评论 -
缓存Integer等类型的频繁使用的数据和对象,大幅度提升性能
一个简单的小程序 public class IntCacheDemo { public static void main(String[] args) { Integer a = 2013; Integer b = 2013; if (a == b) { System.out.println("a==b"); } else if (a.equals(b)) {原创 2013-11-26 22:21:31 · 751 阅读 · 0 评论 -
多线程下载
package leo;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.io.RandomAccessFile;import java.net.HttpURLConnection;import java.net.URL;import java.text.Sim转载 2013-07-24 22:04:46 · 713 阅读 · 0 评论 -
java String 方法解析
import java.nio.charset.Charset;import java.nio.charset.UnsupportedCharsetException;import java.util.Date;import java.util.Locale;import java.util.regex.PatternSyntaxException;public class Strin原创 2013-06-15 11:28:48 · 4191 阅读 · 0 评论 -
全面总结Java泛型
本文对Java泛型进行了全面的总结。文章内容包括普通泛型、通配符、受限泛型、泛型接口、泛型方法、返回泛型类型实例等等。虽然Scala创始人Martin Odersky说当年正是因为Java泛型的丑陋,所以才想到要创建一个新的语言,不过这仍然不妨碍我们学习Java泛型。毕竟即使听说Java泛型不好用,但好不好用还是得会用了才知道。下面是一些有关Java泛型的总结:普通泛型class转载 2012-07-29 22:40:18 · 750 阅读 · 0 评论 -
Java输入输出流详解
通过数据流、序列化和文件系统提供系统输入和输出。Java把这些不同来源和目标的数据都统一抽象为数据流。Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象。在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流。1.1、Java流转载 2011-06-09 17:27:00 · 98799 阅读 · 14 评论 -
java 多线程
Java 多线程进程是指运行中的应用程序,每一个进程都有自己的都立的内存空间。一个应用程序可以同时启动多个进程。线程是指进程中的一个执行流程,有时也称为执行情景。一个进程可以由多个线程组成,即在一个进程中可以同时运行多个不同的线程,他们分别执行不同的任务,。当进程内的多个线程同时运行时,这种运行方式称为并发运行。线程与进程的主要区别在于:每个进程都需要操作系统分配独立的内存空间地址,而同一进程中的所有线程在同一块地址空间中工作,这次线程可以共享同一块原创 2011-04-23 17:19:00 · 716 阅读 · 0 评论 -
接口
接口也是一个类,是什么类? 是一个特殊的抽象类!不是具体类,什么是具体类?不是抽象的类就被称为具体类!我们正常使用class关键字定义的类,这个叫具体类,使用abstract关键字声明的类叫做抽象类,注意,接口和抽象类还不同,比抽象类更加抽象,所以说接口是一种 特殊 的抽象类。含有抽象方法的类必须被声明为抽象类,抽象类不能被实例化,就是不能new对象,抽象类和具体类一样可以被继承,内部可以含有一般正常普通的方法,也可以含有抽象方法。用abstract关键字修饰的方法叫做抽象方法,抽象方法只有方法转载 2011-05-09 18:45:00 · 598 阅读 · 0 评论 -
java多态的列子
<br />关于java多态的列子程序如下:<br /> <br />import java.util.*;<br /> class Shape {<br /> public void draw() {}<br /> public void erase() {}<br /> public void amend() {System.out.println("sdafosrk");}<br />}<br /> class Circle extends Shape {<br /> public void原创 2010-12-27 11:57:00 · 668 阅读 · 0 评论