
Java基础
ldh_lyf
这个作者很懒,什么都没留下…
展开
-
String.format()的详细用法
String.format()字符串常规类型格式化的两种重载方式format(String format, Object… args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。format(Locale locale, String format, Object… args) 使用指定的语言环境,制定字符串格式和参数生成格式化的字符串。转换符意义:转换符...原创 2019-11-23 20:25:12 · 400 阅读 · 0 评论 -
判断字符串是否为数字
1.用正则表达式import java.util.regex.Pattern 和 java.util.regex.Matcher /** * 利用正则表达式判断字符串是否是数字 * @param str * @return */ public boolean isNumeric(String str){ Patter...原创 2018-11-15 13:57:37 · 23251 阅读 · 0 评论 -
进程与线程和多线程的实现方式
进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。线程:线程是进程中的一个执行单元(执行路径),负责当前进程中程序的执行, 一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。创建新执行线程有两种方法。a:一种方法是将类声明为 Thread 的子类。该子类应重写 Th...原创 2018-03-19 21:09:19 · 166 阅读 · 0 评论 -
序列化,打印流,Properties
对象的序列化与反序列化 * a: 基本概念 * 对象的序列化 * 对象中的数据,以流的形式,写入到文件中保存过程称为写出对象,对象的序列化 * ObjectOutputStream将对象写到文件中,实现序列化 * 对象的反序列化 * 在文件...原创 2018-03-19 21:09:29 · 150 阅读 · 0 评论 -
流的基本介绍和操作对象规律以及file文件对象
注意:流读取文件的路径必须是绝对路径流按操作类型分为两种: * 字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的 * 字符流 : 字符流只能操作纯字符数据,比较方便。IO流常用父类 * 字节流的抽象父类: * InputStream...原创 2018-03-19 21:09:49 · 167 阅读 · 0 评论 -
递归注意事项
A:递归概念和注意事项 * a: 递归概念 * 递归,指在当前方法内调用自己的这种现象 * 递归分为两种,直接递归和间接递归 * 直接递归称为方法自身调用自己。间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法 * b: 注意事项 * 递归一定要有出口, 必须可以让程序...原创 2018-03-19 21:09:56 · 2338 阅读 · 0 评论 -
final、finally、finalize的区别?
final: 修饰类:类不能被继承 修饰方法:方法不能被重写 修饰变量:变量变成了常量。且只能被赋值一次 finally:是try-catch的一部分!被它修饰的代码一定会被执行到!除非在这之前退出了虚拟机 finalize:垃圾回收的方法...原创 2018-03-19 21:10:15 · 255 阅读 · 0 评论 -
异常介绍和throw与try...catch...finally的区别
异常的继承体系 Throwable: 它是所有错误与异常的超类(祖宗类) |- Error 错误 |- Exception 编译期异常,进行编译JAVA程序时出现的问题 |- RuntimeException 运行期异常, JAVA程序运行过程中出现的问题异常与错误的区别 * a:...原创 2018-03-19 21:10:09 · 323 阅读 · 0 评论 -
网络编程TCP和UDP介绍与使用
链路层:链路层是用于定义物理传输通道,通常是对某些网络连接设备的驱动协议,例如针对光纤、网线提供的驱动。网络层:网络层是整个TCP/IP协议的核心,它主要用于将传输的数据进行分组,将分组数据发送到目标计算机或者网络。传输层:主要使网络程序进行通信,在进行网络通信时,可以采用TCP协议,也可以采用UDP协议。应用层:主要负责应用程序的协议,例如HTTP协议、FTP协议等。InetAd...原创 2018-03-25 09:59:11 · 200 阅读 · 0 评论 -
网络编程案例之文件上传
/* * 文件上传 服务器端 * */publicclass TCPServer { publicstaticvoid main(String[] args) throwsIOException { //1,创建服务器,等待客户端连接 ServerSocket serverSocket = newServerSocket(8888); Socket ...原创 2018-03-25 10:01:26 · 302 阅读 · 0 评论 -
正则表达式
元字符 描述 \ 将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\\n”匹配\n。“\n”匹配换行符。序列“\\”匹配“\”而“\(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。 ^ 匹配输入字行首。如果设置了RegExp对象的Multiline属性...原创 2018-09-19 18:33:18 · 243 阅读 · 0 评论 -
对象深度克隆
使用输入、输出流:public static <R,T> T clone(R resouse,T dest){ ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = null; ObjectInputStream ois = null; ...原创 2019-07-13 19:36:21 · 125 阅读 · 0 评论 -
idea常用配置
代码提交时,忽略部分文件:第一步:点击 setting第二步:点击Editor下的File Types第三步:编辑,在后面添加 *.iml;*.idea;*.gitignore;*.sh;*.classpath;*.project;*.settings;target;logs; 或者添加*.hprof;*.idea;*.iml;*.pyc;*.pyo;*.rbc;*.ya...原创 2019-06-17 18:20:42 · 497 阅读 · 0 评论 -
手写二叉树
1.定义节点类package com.lyf.binarytree;public class Node<T extends Comparable<T>> { private Node<T> left; private T value; private Node<T> right; public Node() { super();...原创 2019-05-26 11:02:18 · 239 阅读 · 0 评论 -
手写MD5
没有加盐的写法import java.security.MessageDigest;public class Md5Utils { public static void main(String[] args) { toMd5("hhhhh"); } public static void toMd5(String origin) { try { //SHA 20位,...原创 2019-05-12 19:28:04 · 458 阅读 · 0 评论 -
LockSupport(park/unpark)源码分析
concurrent包是基于AQS (AbstractQueuedSynchronizer)框架的,AQS框架借助于两个类:Unsafe(提供CAS操作) LockSupport(提供park/unpark操作)因此,LockSupport非常重要。两个重点(1)操作对象归根结底,LockSupport.park()和LockSupport.unpark(Thread thre...转载 2019-05-19 11:44:50 · 423 阅读 · 0 评论 -
定时任务时间格式
Quartz cron 表达式的格式十分类似于 UNIX cron 格式,但还是有少许明显的区别。区别之一就是 Quartz 的格式向下支持到秒级别的计划,而 UNIX cron 计划仅支持至分钟级。许多我们的触发计划要基于秒级递增的(例如,每45秒),因此这是一个非常好的差异。在 UNIX cron 里,要执行的作业(或者说命令)是存放在 cron 表达式中的,在第六个域位置上。Quartz 用...原创 2019-05-19 10:28:17 · 5077 阅读 · 0 评论 -
java8对集合进行过滤,排序等
List<TestUser> list = Lists.newArrayList(); TestUser testUser = new TestUser(); testUser.setId(2);/*主键*/ testUser.setName("张三");/*姓名*/ testUser.setClasse...原创 2019-03-28 17:20:11 · 3245 阅读 · 0 评论 -
list,set,map的区别与比较
Collection: List(存取有序,有索引,可以重复) ArrayList 底层是数组实现的,线程不安全,查找和修改快,增和删比较慢 LinkedList 底层是链表实现的,线程不安全,增和删比较快,查找和修改比较慢 Vector ...原创 2018-03-23 23:22:09 · 186 阅读 · 0 评论 -
泛型的定义格式与extends 和super 的修饰范围
泛型类:定义格式: 修饰符 class 类名<代表泛型的变量>{}泛型的方法定义格式:修饰符 <代表泛型的变量> 返回值类型 方法名(参数){ }泛型的接口:修饰符 interface 接口名<代表泛型的变量>{}1.泛型类T,U类型参数可以用在: 1.属性类型 2.方法返回值 3.方法参数类型...原创 2018-03-23 23:22:17 · 372 阅读 · 0 评论 -
多态成员变量和成员方法编译在编译与运行时期的区别
多态成员变量当子父类中出现同名的成员变量时,多态调用该变量时:编译时期:参考的是引用型变量所属的类中是否有被调用的成员变量。没有,编译失败。运行时期:也是调用引用型变量所属的类中的成员变量。简单记:编译和运行都参考等号的左边。编译运行看左边。 多态成员方法编译时期:参考引用变量所属的类,如果没有类中没有调用的方法,编译失败。运行时期:参考引用变量所指的对象所属的...原创 2018-03-10 20:04:41 · 302 阅读 · 0 评论 -
java this,final,static关键字
this关键字this关键字,本类对象的引用this是在方法中使用的,哪个对象调用了该方法,那么,this就代表调用该方法的对象引用this对象 当前调用对象 new出来的 new的是谁 this代表谁this什么时候存在的?当创建对象的时候,this存在的this的作用:用来区别同名的成员变量与局部变量(this.成员变量)instanceof我们可以通过in...原创 2018-03-10 19:37:48 · 117 阅读 · 0 评论 -
基本类型和引用类型作为参数传递
引用类型数据和基本类型数据作为参数传递有没有差别呢?我们用如下代码进行说明class Demo{ public static void main(String[] args) { int x = 4; show(x); System.out.println("x="+x); } public static void show(int...原创 2018-03-10 19:33:28 · 527 阅读 · 0 评论 -
java数组的定义格式和使用
数组的定义格式: 1.一维数组的定义格式: 数据类型[] 数组名=new 数据类型[数组的长度]; //数据类型前后保持一致 a.动态初始化:动:仅指定长度不指定具体元素值 int[] arr=new int[3];//定义了一个能存三个元素的数组容器 //数组的类型是 int[] 也是一个...原创 2018-03-10 18:43:43 · 959 阅读 · 0 评论 -
switch结构语句
Switch选择结构格式: a.格式: swtich(表达式){//()中的数据类型仅仅支持 //short int byte char //jdk1.5 enum jkd1.7 String case 常量1 : 要执行...原创 2018-03-10 18:42:24 · 5276 阅读 · 0 评论 -
java中if,for,while语句语法
if语句: a.第一种格式:(单身狗) if(布尔表达式) { 如果布尔表达式为true,才执行大括号中的内容 } b.第二种格式:(一夫一妻) if(布尔表达式) { 如果布尔表达式为true,执行此处代码 }else { 如果布尔表达式为false,执行此处代码 ...原创 2018-03-10 18:25:40 · 760 阅读 · 0 评论 -
高规格折半查找
public class MyUtil{ public static <T extends Comparable<T>> int binarySearch(T[] x ,T key){ return binarySearch(x,0,x.length-1,key); } public static <T> int bin...原创 2018-03-10 18:11:34 · 146 阅读 · 0 评论 -
高规格冒泡排序
public interface Sorter{ public <T extends Compareable<T> > void sort(T[] list); public <T> void sort(T[] list ,Compartor<T> comp);}public class BubbleSorter impleme...原创 2018-03-10 17:53:48 · 187 阅读 · 0 评论 -
内部类介绍与使用
内部类分为成员内部类与局部内部类。 我们定义内部类时,就是一个正常定义类的过程,同样包含各种修饰符、继承与实现关系等。 在内部类中可以直接访问外部类的所有成员。但是在外部类中想访问内部类只能创建内部类对象才可以成员内部类,定义在外部类中的成员位置。与类中的成员变量相似,可通过外部类对象进行访问定义格式 class 外部类 { ...原创 2018-03-18 09:16:52 · 129 阅读 · 0 评论 -
System,Math,Arrays,BigInteger,BigDecimal,SimpleDateFormat,Calendar使用介绍
System类 成员方法 * public static void gc():调用垃圾回收 * public static void exit(int status):退出虚拟机 * public static long currentTimeMillis():获取毫秒值 * pubiic static void ar...原创 2018-03-23 23:22:25 · 158 阅读 · 0 评论 -
String,StringBuffer和StringBuilder
String:创建对象的数量比较 * String s3 = "abc"; * 在内存中只有一个对象。这个对象在字符串常量池中 * String s4 = new String("abc"); * 在内存中有两个对象。一个new的对象在堆中,一个字符串本身对象,在字符串常量池中...原创 2018-03-18 09:53:17 · 152 阅读 · 0 评论 -
eclipse快捷键
* A: Ctrl+T:查看所选中类的继承树 例如,在下面代码中,选中Teacher类名,然后按Ctrl+T,就会显示出Teacher类的继承关系 * B: 查看所选中方法的源代码 Ctrl+滑动鼠标点击方法名,或者选中方法名后,按F3键查看所选中方法的源代码。 * C:常用快捷键: * 多个名称一起重命名:alt + shift + r ...原创 2018-03-18 09:41:26 · 148 阅读 · 0 评论 -
权限修饰符的修饰范围和比较
public protected default private 同一类中 √ √ √ √ 同一包中(子类与无关类) √ √ ...原创 2018-03-18 09:19:55 · 393 阅读 · 0 评论 -
静态变量和成员变量的区别,成员变量和局部变量区别:
静态变量和成员变量的区别? 所属不同: 静态变量:属于类。也称为类变量 成员变量:属于对象。也称为对象变量 内存中不同: 静态变量:在方法区中的静态区 成员变量:在堆内存中 生命周期不同: 静态变量:随着类的加载而加载。随着类的消失而消失 ...原创 2018-03-18 09:18:30 · 170 阅读 · 0 评论