自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我不是大王强的博客

java学习笔记,java学习每日总结,java系统性学习

  • 博客(58)
  • 收藏
  • 关注

转载 Oracle中分页查询语句

Oracle中分页查询语句Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看。Oracle分页查询语句基本上可以按照本文给出的格式来进行套用。Oracle分分页查询格式:SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM T...

2018-10-17 16:34:44 240

转载 java反射中Method类invoke方法的用法

Method getMethod(String name, Class<?>... parameterTypes)   --返回一个 Method 对象,它反映此 Class 对象所表示的类或接口的指定公共成员方法。   方法后面接收的就是Class类的对象,而如:String.class、int.class这些字节码才是Class类的对象    ...

2018-09-02 16:31:15 5988

原创 常见的函数式接口

/* 在jdk8之后,多了java.util.function 。这个包下面放了很多的常用的函数式接口。 其中有一个接口叫做Supplier<T>(生产者), 里面有一个方法,可以获取一个对象。 T get​(): 可以获取一个对象。 */public class Demo01Supplier { public static void ma...

2018-07-23 19:58:54 1723

原创 方法引用的 4 + 2 种方式

* 方法引用的 4 + 2 种方式 对于类来说,有4种方式 1. 对象引用成员方法 2. 类名引用静态方法 3. super引用父类方法 4. this引用本类方法 对于构造器来说,有2种方法。 1. 类的构造器引用 2. 数组的构造器引用。1 ...

2018-07-23 19:55:39 462

原创 方法的引用

/* Lambda表达式做的事情是,拿到参数之后【直接】对参数进行了打印。 如果Lambda表达式做的事情,和某个方法是一样的。 如果再重复写一遍方法的参数就有些多余了,因为在里面做的事情是拿到参数之后直接对参数进行打印。 如果Lambda表达式做的事情和方法一样,可以使用Lambda表达式的一个孪生兄弟去表示,叫做方法引用。...

2018-07-23 16:49:42 163

原创 函数式接口

/* Lambda表达式 () -> {} Lambda表达式可以代替掉匿名内部类。 Lambda标准格式 (数据类型 变量名, 数据类型 变量名) -> { 方法体; return 返回值; } Lambda表达式省略规则 1. 参数位置的数据类型可以省略。 ...

2018-07-23 16:17:20 652

原创 tomcat

import java.io.FileInputStream;import java.io.IOException;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class Demo01Web1 { public static void main(S...

2018-07-23 16:07:04 110

原创 多种方式完成的服务器上传案例

/* 使用多线程完成服务器端。 */public class Demo03UploadServerLoad { public static void main(String[] args) throws IOException { //1创建serversocker对象, ServerSocket serverSocket=new Serve...

2018-07-23 16:01:14 138

原创 上传案例的客户端,服务器

/* 上传案例的客户端. 步骤: 1. 创建一个字节输入流FileInputStream,用来读取自己电脑上的文件。 2. 创建客户端Socket,并指定要连接的服务器和端口号。 3. 调用Socket的getOutputStream,用来向服务器写数据。 4. 一边读一边写,每从本地读取一个字节数组,就将读取到的...

2018-07-23 15:58:00 153

原创 客户端与服务器

* TCP 案例中的客户端。 在java中,可以使用一个类表示客户端,这个类叫做Socket 构造方法: Socket​(String host, int port): 参数host表示要连接哪台计算机。 参数port表示连接的是哪个应用程序。 因为Socket表示的是客户端,客户端要连接的是服务...

2018-07-23 15:55:47 345

原创 NIO工具类Files

/* BIO: 同步阻塞IO NIO: 同步非阻塞IO。 NIO是基于通道,缓冲区,和选择器.... AIO: 异步非阻塞IO。*/ jdk7之后,提供了一个NIO的工具类,叫做Files 相关API: Path: 表示一个路径。 Paths: 路径的工具类,可以获取一个Path对象 Files: 操作I...

2018-07-19 15:18:54 1157

原创 序列化流

/* ObjectOutputStream 叫做序列化流。 可以将java程序中的对象写入到文件中。 构造方法: ObjectOutputStream​(OutputStream out): 传递一个字节输出流对象。 写对象方法: void writeObject​(Object obj): 向文件中写入对象。 使用步骤: ...

2018-07-19 15:16:34 447

原创 转换流

/* 使用FileReader读取文件中的内容 FileReader读取的时候,会使用idea平台默认编码方式去读取,而平台默认的编码是UTF-8 但是我们要读取的文件采用的是gbk编码,此时编码不一致,就产生了乱码。 我们可以想办法指定编码进行读写, 指定编码就可以使用转换流 */public class ...

2018-07-19 15:11:10 145

原创 Buffered缓冲流

缓冲流 字节缓冲流: 字节输入缓冲流:BufferedInputStream 字节输出缓冲流:BufferedOutputStream 字符缓冲流: 字符输入缓冲流:BufferedReader 字符输出缓冲流:BufferedWriter 缓冲流特点是快,因为内部有一个缓冲区,可以提高效率。 ...

2018-07-19 15:05:34 498

原创 Properties集合、

/* Properties​ 其实就是一个双列集合 特点: 1. Properties是Map接口的实现类。 拥有Map接口的中所有的方法。 2. Properties没有泛型,键和值都是String 3. 这个集合支持对流的操作,可以从流冲获取键值对。 构造方法: Properties​():使用空参数...

2018-07-19 14:58:49 488

原创 IOl流中的异常处理

/* 在JDK7之前的IO流中的异常处理 一定要保证释放资源的代码无论如何都会执行到。 我们可以把这部分代码放入到finally代码块中 */public class Demo01Exception { public static void main(String[] args) { FileWriter fw = null; ...

2018-07-19 14:56:33 283

原创 Write 字符输出流

/* 在java中Write表示字符输出流, 可以将java程序中的数据写到文件中。 Writer是所有字符输出流的顶层父类, 并且这个类是一个抽象类。一般使用子类。 最常用的子类是FileWriter。 FileWriter的构造方法: FileWriter​(File file): 传递一个...

2018-07-19 14:53:23 3104

原创 字符流 Reader

 / 在java中Reader是字符输入流,可以将文件中的数据读取到java程序中。// Reader是字符输入流的顶层父类,是一个抽象类。 如果要用,需要使用子类。// 最常用的子类叫做FileReader。// 字符输入流可以以字符为单位进行读取,这样就可以读取中文了。//// FileReader的构造方法:...

2018-07-19 08:29:31 625

原创 InputStream

/* 在java中InputStream是字节输入流,用来将文件中的数据读取到java程序中。 InputStream是所有字节输入流的顶层父类,是一个抽象类。如果要用,需要使用子类。 最常用的子类:FileInputStream。 构造方法: FileInputStream​(File file): 传递一个F...

2018-07-19 08:26:42 64059 3

原创 OutputStream

IO流的分类\n" + " 如果从类型上分,可以分成字节流和字符流\n" + " \n" + " 字节流\n" + " 字节输出流: OutputStream\n" + " 字节输入流: InputStream\n" + "...

2018-07-19 08:24:22 24161

原创 Java中的lambada表达式综合应用、匿名内部类完成多线程

匿名内部类可以省略单独创建一个.java文件的步骤。// 但是匿名内部类也有他的弊端,弊端就是它语法太麻烦了.//// 匿名内部类中最关键的东西是方法(参数,方法体,返回值)//// 每个方法都有前中后三个东西。// 1. 前: 参数// 2. 中: 方法体// 3. 后: 返回值//// ...

2018-07-13 23:48:52 1090

原创 Java 线程池的理解

           线程池是一个容器,这个容器中预先创建了很多个线程。如果要执行任务,直接使用这个容器中的线程去执行就可以了。 并且这个线程池中的线程,可以复用。执行完一个任务后,可以继续执行其他任务。           public class Demo01ThreadPool { public static void main(String[] args) { //...

2018-07-13 23:37:51 162

原创 线程通信概念的理解

线程等待唤醒机制。用到的API, 下面的方法都是Object中的。 void wait​(): 让当前的线程等待。 void notify​(): 随机唤醒一个线程 void notifyAll​(): 唤醒所有的线程。上面这些方法虽然是Object中的方法,但是不能通过对象直接去调用这些方法一定要放在同步代码块中,并且使用锁对象(对象监视器)去调用。当一个线...

2018-07-13 23:32:12 1302

原创 多线程死锁

图片演示一种死锁的现象代码实现如图所示的死锁public class DeadLock implements Runnable { Object a = new Object(); Object b = new Object(); int count = 0; @Override public void run() { while (tru...

2018-07-11 20:24:37 195

原创 多线程的状态、及相互转换,

NEW: 新建状态。假如一个线程刚刚new出来,但是没有调用start方法,那么这个线程就处于此状态。 RUNNABLE:运行状态,线程调用start方法之后,就会变成运行状态。 BLOCKED:受阻塞。 当一个线程等待同步锁的时候,那么这个线程就是受阻塞状态。 WAITING:无限等待。 当一个线程调用wait方法后,就变成了无限等待。(明天案例中去说) TI...

2018-07-11 20:13:05 163

原创 线程安全问题:JAVA多线程练习,模拟窗口卖票

、/* 电影院要卖票,我们模拟电影院的卖票过程。假设要播放的电影是 “葫芦娃大战奥特曼”, 本次电影的座位共100个 (本场电影只能卖100张票)。 我们来模拟电影院的售票窗口,实现多个窗口同时卖 “葫芦娃大战奥特曼”这场电影票 (多个窗口一起卖这100张票) 需要窗口,采用线程对象来模拟;需要票,Runnable接口子类来模拟 使用三个线...

2018-07-11 20:08:14 2843

原创 多线程中的方法、两种实现方式、匿名内部类创建多线程,线程安全问题的解决、

多线程两种实现方式: 方式一: 继承Thread类的方式 方式二: 实现Runnable接口的方式。方式一: 步骤: // 1. 定义一个类,然后继承Thread // 2. 重写里面的run方法,在run方法中定义线程要执行的任务 // 3. 在测试类中创建子类的对象。 // 4. 调用start方法,开启线程。public class MyThrea...

2018-07-11 19:43:12 684

原创 java 中的static 用法

三种static关键字的使用方法:1. 用来修饰成员变量2. 用来修饰成员方法3. 静态代码块一旦一个方法使用static进行修饰,那么这种静态方法,不需要创建对象,调用格式应该为:类名称.静态方法名如果需要使用的静态方法,就在当前类中,那么可以省略类名称。对于static关键字使用格式:1. 定义静态的成员变量,直接在数据类型前面加上static2. 定义静态的成员方法,直接在返回值类型前面加上...

2018-07-11 08:10:16 5702

原创 多线程01

/* 每个程序里面至少要有一个线程。 我们之前运行的java程序也是有线程的。 当运行main方法的时候jvm会启动, 并且JVM会创建一个新线程这个线程叫做main线程, 由这个main线程去执行mian方法中的代码。 单线程程序同时只能执行一个任务,如果有多个任务,只能执行完其中一个之后再去执行另外一个任务。 如果想要同时执行多个任务,可以使用多...

2018-07-10 18:18:15 80

原创 异常的体系结构,产生原因,抛异常 ,异常的处理。全面的总结

在java中,程序运行过程中产生的问题叫做异常,在java中所有程序运行产生的问题都可以用一个类来表示,这个类叫做它Throwable,它有两个子类Error:表示错误,程序中出现了不可挽回问题Exception:表示异常,程序中出现的可以挽救补回的问题异常产生原因流程/* throw关键字,可以手动的抛出一个异常对象。 格式: throw new...

2018-07-10 18:01:34 254

原创 字符串中的截取,分割,转换方法

/*字符串的截取方法(根据一个大字符串,截取得到小字符串,其中一部分)public String substring(int beginIndex):截取字符串,从指定的索引位置一直到字符串末尾。public String substring(int beginIndex, int endIndex):截取字符串,从指定的开始索引,一直到指定的结束索引。两个参数的方法,左闭右开区间,包含左边,...

2018-07-09 23:58:45 22435

原创 String字符串对象创建方法,

Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。翻译成人话:程序当中所有双引号字符串常量,都是String类的对象。(就算没有new,也照样是对象。)字符串的特点:1. 【字符串的内容不可改变】。(每当你觉得好像是变了的时候,必然是创建了一个新的字符串。)2. 正是因为字符串不可改变,所以字符串是可以共享使用的。3. 字符串就是很多个字符连在一起,效果上看类似于ch...

2018-07-09 23:51:03 768

原创 Java集合全面总结

 Collection : 单列集合的根接口List : 有序(存和取的顺序一致),有索引,可以存储重复ArrayList : 数组实现,查找快,但是增删慢,线程不安全LinkedList : 链表实现,增删快,但是查找慢,线程不安全Vector(向量) : 数组实现,线程安全Set : 无序(存和取的顺序不一致),无索引,不可以存储重复HashSet : 哈希算法,TreeSet : 二叉树算法...

2018-07-08 19:50:22 616

原创 Map双列集合的用法,遍历方法

Map集合的常用方法。Map集合是一个双列集合,里面的每个元素都是一个键值对。Map<K,V> 有两个泛型, K 表示Map集合中键的类型。 V 表示Map集合中值的数据类型。常用方法: (重要)V put​(K key, V value): 向Map集合中添加键值对。 (重要)V get​(Object key): 根据key获取到value的值。 ...

2018-07-08 19:34:04 940

原创 利用Arraylist和Map完成的斗地主准备牌,发牌,洗牌,看牌操作

import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;/*大体思路1扑克牌一共有54张,首先创建一个集合来存储扑克牌编号,再创建一个Map集合来存储扑克牌编号与扑克牌牌面的映射关系,牌面有花色4个,数字13个,利用for循环,将52张牌的编号和映射关系分别添加进Arraylist集合和map...

2018-07-08 18:26:23 565

原创 可变参数

/* 可变参数: 方法参数的数量可以变化 格式: 修饰符 返回值类型 方法名(参数类型... 参数名) { } 1. 可变参数的方法在调用的时候,可以传递任意个数字。这些数据的类型要一致。 2. 可变参数本质是数组, 按照数组的方式去使用这个可变参数就可以了 3. 因为可变参数本质就是数组,所以调用...

2018-07-08 15:02:15 131

原创 Collections中的sort方法2,比较器排序

/* Collections中还有一个sort方法,可以根据比较器排序 static void sort​(List list, Comparator c): 参数list:是要排序的集合 参数c: 是比较器, 好比一个法官。如果使用比较器排序,那么这个集合的泛型是不需要实现Comparable接口的。总结: 一个类实现Compa...

2018-07-08 15:00:01 1432

原创 Collections中的sort方法,对集合内容进行排序

/* Collections 中有一个方法叫做sort可以对集合中的内容进行排序 static void sort​(List list): 对集合中的内容进行排序 要使用这个sort方法进行排序的集合,里面的泛型必须实现Comparable接口 实现这个接口的对象才具备排序的功能, 这种排序自然排序。 口诀: 升序就是我减他,降续就是他减我...

2018-07-08 14:33:32 6203

原创 泛型的限定(对泛型通配符的范围进行限制)

/ 泛型的限定。对泛型通配符的范围进行限制。////<? extends A>:表示泛型的类型只能是A类或者A类的子类。 上限,最高到A类。//<? super A>: 表示泛型的类型只能是A类或者A类的父类。 下限,最低到A类。//// 泛型的使用场景:// 一般用于后期的代码重构,代码的优化。// */pu...

2018-07-08 08:23:14 3368

原创 Collection的集合体系 List、Set接口 及其实现类

  /*    List接口是Collection下面的一个子接口。    List接口有以下特点: 1. 有序(有序不是顺序, 怎么存就怎么取) 2. 有索引。 3. 可以存放重复元素。   list接口下面常见的实现类。 ArrayList,LinkedList */public class Demo01list { public static void main(...

2018-07-08 08:22:07 1555

空空如也

空空如也

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

TA关注的人

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