Java
文章平均质量分 75
AHawkeye
这个作者很懒,什么都没留下…
展开
-
StreamAPI与Optional类
Stream API说明为什么使用Stream API什么是Stream操作三步骤创建Stream方式一:集合方式二:数组方式三:Stream类的静态方法of()方式四:创建无限流(了解)package com.stream.xzc;import org.junit.Test;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.str原创 2021-06-06 20:09:15 · 82 阅读 · 0 评论 -
Java IO流 四
对象流package demo10;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectOutputStream;public class ObjectStream { public static void main(String[] args) { //序列化:将内存中的java对象保存到磁盘中或者通过网络传输出去 ObjectOutputS原创 2021-06-03 16:42:26 · 85 阅读 · 0 评论 -
Java IO流 四
处理流之二 转换流字节输入流转换为字符输入流package demo10;import java.io.*;//InputStreamReader: 将一个字节的输入流转换为字符的输入流//OutputStreamWriter: 将一个字符的输出流转换为字节的输出流public class TransferTest { public static void main(String[] args) throws IOException { //字节流处理了一个txt原创 2021-06-02 17:00:05 · 56 阅读 · 0 评论 -
Java IO流 三
处理文本最好来说:实现图片复制package demo10;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;public class IOTest { public static void main(String[] args) throws IOException { File src =原创 2021-06-01 21:01:30 · 109 阅读 · 0 评论 -
Java IO流 二
IO流原理及分类非文本比如视频、图像适合字节流,文本适合字符流。IO流体系FileReader读入数据空参read方法package demo10;import java.io.File;import java.io.FileReader;import java.io.IOException;public class IOTest { public static void main(String[] args) throws IOException {原创 2021-06-01 18:43:57 · 52 阅读 · 0 评论 -
Java IO流(一)
File类三种构造器package demo10;import org.junit.Test;import java.io.File;public class FileTest { @Test public void test1(){ File file = new File("D:\\hello.txt"); System.out.println(file); File file2 = new File("D:\\jav原创 2021-06-01 16:44:08 · 56 阅读 · 0 评论 -
Java 常用类
Math类提供数学计算公式。被声明为final,构造器私有化,所有方法都是static的。package demo08;public class MathDemo { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(Math.E);//比任何其他值都更接近 e(即自然对数的底数)的 double 值。 S原创 2021-05-29 16:39:49 · 52 阅读 · 0 评论 -
Java基础类库
CharSequence接口现在只要有字符串就可以为CharSequence实例化,CharSequence本身是一个接口,在该接口中有如下方法:获取指定索引的字符:public char charAt(int index);获取字符串长度:public int length();截取部分字符串:public CharSequence subSequence(int start, int end);AutoCloseable接口AutoCloseable接口主要是用于日后进行资源开发的原创 2021-05-27 23:02:06 · 109 阅读 · 0 评论 -
Java 深入多线程
优雅地停止线程Thread类中的stop方法已经被舍弃了。除了stop方法,还有几个方法也被禁用了:销毁多线程(destroy),挂起多线程(suspend),恢复挂起(resume),之所以废除这些方法是因为有可能导致线程死锁。范例:实现线程柔和地停止。package demo02;public class ThreadDemo { private static boolean flag = true; public static void main(String[] arg原创 2021-05-27 19:04:42 · 99 阅读 · 0 评论 -
Java StringBuffer(StringBuilder)学习笔记
String、StringBuffer和StringBuilder的异同String:不可变的字符序列,底层使用char[]存储。StringBuffer:since JDK1.0,可变的字符序列,效率低,线程安全,底层使用char[]存储。StringBuilder:since JDK1.5,可变的字符序列,效率高,线程不安全,底层使用char[]存储。可变性package demo03;public class SBTest { public static void main(St原创 2021-05-23 10:54:08 · 57 阅读 · 0 评论 -
Java String类学习笔记
String类1.String类声明为final,不可被继承。2.String实现了Serializable接口,表示字符串支持序列化。3.String实现了Comparable接口,表示可以比较大小。4.String内部定义了final char[] value用于存储字符串数据。5.String代表不可变的字符序列,简称不可变性。String的不可变性先看一个例子:package demo03;public class StringTest { public static v原创 2021-05-22 23:05:54 · 99 阅读 · 0 评论 -
Java多线程学习笔记(四)
线程的通信例题:使用两个线程打印1-100。线程和线程2交替打印。package demo02;class Number implements Runnable{ private int number = 1; @Override public void run() { while (true){ synchronized (this) { notify(); if (n原创 2021-05-05 22:11:28 · 53 阅读 · 0 评论 -
Java多线程学习笔记(三)
同步方法解决实现Runnable的线程安全问题如果操作共享数据的代码完整的声明在一个方法中,我们不妨将此方法声明为同步的。package com.xzc;class Window3 implements Runnable { public Window3() { } private int ticket; public Window3(int ticket) { this.ticket = ticket; } @Override原创 2021-05-05 19:06:16 · 93 阅读 · 1 评论 -
Java多线程学习笔记(二)
从卖票入手先看多线程的一个经典例子:创建三个窗口卖票,总票数是100张。先看这个代码:package com.xzc;class Window extends Thread{ public Window(){ } public Window(String name){ super(name); } private int ticket = 100; @Override public void run() {原创 2021-05-05 13:31:12 · 110 阅读 · 1 评论 -
Java多线程学习笔记(一)
线程和进程进程是资源分配的最小单位,线程是CPU调度的最小单位做个简单的比喻:进程=火车,线程=车厢线程在进程下行进(单纯的车厢无法运行)一个进程可以包含多个线程(一辆火车可以有多个车厢)不同进程间数据很难共享(一辆火车上的乘客很难换到另外一辆火车,比如站点换乘)同一进程下不同线程间数据很易共享(A车厢换到B车厢很容易)进程要比线程消耗更多的计算机资源(采用多列火车相比多个车厢更耗资源)进程间不会相互影响,一个线程挂掉将导致整个进程挂掉(一列火车不会影响到另外一列火车,但是如果一列火车上中原创 2021-05-05 10:58:51 · 42 阅读 · 0 评论 -
Java lambda表达式学习笔记
第一个lambda表达式先来看一段根据字符串长度排序的Test.javapackage com.xzc;import java.util.Arrays;import java.util.Comparator;public class Test { public static void main(String[] args) { String[] s1 ={"ab","a","abcd","abc"}; Arrays.sort(s1, new Compar原创 2021-05-03 23:20:50 · 278 阅读 · 0 评论 -
Java反射机制学习笔记
Class类在程序运行期间,Java运行时系统始终为所有对象维护一个运行时的类型标识。保存这些信息的类名为Class。反射是一个功能强大复杂的机制,用来分析类的能力,运行时检查对象,实现泛型数组操作代码等。如何得到Class类的实例对象Class对象会描述一个特定类的属性。第一种,最常用的Class方法是getName。我们先定义一个Person类:package com.xzc;public class Person { public Person(){ }原创 2021-04-20 22:30:22 · 312 阅读 · 3 评论 -
2021-04-12 LeetCode每日一题最大数(字符串拼接排序)
目录题目解题思路解题代码题目给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数例如 输入:nums = [3,30,34,5,9] 输出:“9534330”解题思路Java中Collections.sort方法可以对对象数组排序,可以重写排序方法,类似于C++自己写sort的cmp函数,重写排序方法,就要对两个字符串a和b比较拼接后的大小,容易发现a+b和b+a长度是一样的,如果a+b是大于b原创 2021-04-12 17:55:26 · 484 阅读 · 0 评论 -
这次,彻底弄懂接口及抽象类
目录抽象类及其作用接口及其作用接口和抽象类的区别接口与抽象类的使用场景总结作者:伯特出处:github.com/ruicbAndroid/LoulanPlan声明:本文出自伯特的《楼兰计划》,转载务必注明作者及出处。抽象类及其作用抽象类,顾名思义,即类的抽象。在介绍面向对象概念时,我们知道类是客观事物的抽象,而抽象类又是类的进一步抽象,该怎么理解呢?举个例子,我们定义若干个类 class BMW、class Benz、class Audi,分别对客观事物“宝马”、“奔驰”、“奥迪”三种汽车进行转载 2020-12-18 10:26:32 · 103 阅读 · 0 评论