![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
哦吼~
心如欲壑,厚土难填。
展开
-
Scanner输入踩坑,当输入一个整数,再输入一个String,不显示直接跳过结束
1.以前好像碰到过这种问题,没有记录,长时间没用导致这个坑再次出现public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int temp = sc.nextInt(); ...原创 2020-03-16 12:11:24 · 320 阅读 · 0 评论 -
BIO、NIO、AIO
BIO、NIO 和 AIOa) BIO:Java BIO (blocking I/O), 同步阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。b) NIO:Java NIO (non-blocking I/O),同步非阻塞,服务器实现模式为一个请求一个线程,即客户...原创 2019-12-02 15:06:49 · 90 阅读 · 0 评论 -
IO流查漏补缺加复习
1.File类:File类只能操作文件本身,但是不能操作文件的内容,就像你可以把别人的笔记本放到任何地方,但是你不能看他到底写了什么内容。//获取f盘下a文件夹下abc文件夹下的tt.txt文件public class Demo1 { public static void main(String[] args) { //这时候对象f就是tt.txt文件 ...原创 2020-02-16 12:37:58 · 124 阅读 · 0 评论 -
集合框架:Collection--Set--HashSet类、TreeSet类
HashSet//Collection--Set--HashSet/*Set:无序,不重复集合1.向HashSet集合中添加元素时,首先判断是否存在(contains),依据为hashCode和equals,如果不存在添加,否则忽略(不是覆盖)2.HashSet中可以插入null值,但是只能插入一个3.HashSet中的元素散列形式的,也就是说,并不知道他们的位置,无法获取元素4.H...原创 2019-07-22 22:18:33 · 92 阅读 · 0 评论 -
集合框架:Map--HashMap、TreeMap、Hashtable
HashMap//Map---HashMap/*HashMap:键值对存放方式,将值存放到容器中,每个值都有一个键所对应值集可以重复,因为值集是一个List键集不能重复,因为键集是一个Set如果键集重复,后边的值会将前边的值覆盖掉进行排序,查找等操作需将Map转换成Set或ListHashMap可以以存放null值,键集(key)只能放一个null */public class...原创 2019-07-23 11:26:44 · 134 阅读 · 0 评论 -
多线程--基础
一、常见概念:1.进程:每个进程都有独立的代码和数据空间(即独立的内存区域)(进程上下文),进程间的切换会有较大的开销,一个进程包含1~n个线程。2.线程:一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并行多个线程,每条线程并行执行不同的任务。同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。3.线程和进程一样分为五个阶段:创建、就绪、运行、...原创 2019-08-24 23:13:50 · 99 阅读 · 0 评论 -
多线程---生产者消费者
1.产品package 生产者消费者;public class 产品 { private Integer id; public 产品(Integer id){ this.id = id; } @Override public String toString() { return "产品{"+"id="+id+'}';...原创 2019-08-24 23:14:02 · 88 阅读 · 0 评论 -
简单了解Lambda表达式
//Lambda表达式用于实现只有一个抽象方法的接口,以达到简便、简化的目的//避免创建一个类来实现接口这一繁琐的过程//其可以代替匿名内部类//不推荐使用,因为其简单所以其难懂,难以调试// 1. 不需要参数,返回值为 5 () -> 5 // 2. 接收一个参数(数字类型),返回其2倍的值 x -> 2 * x // 3. 接受2个参数(数字),...原创 2019-08-29 17:11:39 · 289 阅读 · 0 评论 -
线程池
一、线程池:1.概念:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。实现复用,就是执行完一个任务,并不被销毁,而是继续执行其他的任务。2.Executor:一个接口,其定义了一个接收Runnable对象的方法executor,其方法签名为executor(Runnable command) ...原创 2019-08-30 00:36:10 · 79 阅读 · 0 评论 -
多线程----锁,中断,线程组,设置线程优先级
1.加锁处理线程安全问题01package 多线程;import java.util.concurrent.locks.Lock;public class 加锁解决线程安全问题 { public static void main(String[] args) { ThreadRunnable runnable = new ThreadRunnable(); ...原创 2019-12-30 09:39:25 · 328 阅读 · 0 评论 -
集合框架:Collection--List--ArrayList类、LinkedList类、Vector类、Stack类
1.ArrayList里面放的是一个空的Object类型数组,但你构建一个ArrayList对象时,其Object类型数组长度为0,执行add操作,首先会给数组扩容,如果数组长度为0,直接扩容为10个(即第一次),以后直接放入,直到达到第一次扩容的10个,继续进行扩容。2.调用add(int index,E element)方法时,先判断索引是否越界,然后判断是否需要扩容,再执行移动数组元素操作...原创 2019-07-22 22:14:54 · 130 阅读 · 0 评论 -
IO流
public class DemoA { public static void 输入(){ try{ //要有一个文件 File file = new File("E://1","a.txt"); //判断文件是否存在 boolean b = file.exists(); ...原创 2019-07-18 21:47:23 · 109 阅读 · 0 评论 -
Java基础
1.规则:字母 数字(不能为首位) 下划线 和 $ 不能关键字,保留字2.规范:(1)包:纯小写(com.jd)(倒缀)(2)类:名词,首字母大写 驼峰式(DomeAUser)3.package pro0530;//隶属的文件夹(包)/*类名和文件名一致 */public class DemoA { //主程序入口 public static void ...原创 2019-06-30 00:38:23 · 77 阅读 · 0 评论 -
循环、分支
package pro0622;import java.util.Scanner;//分支结构中的单层if/*if(条件){操作}注意1:条件必须是Boolean类型注意2:如果操作只有一行,可以省略大括号,但希望写上注意3:条件满足执行操作,条件不满足结束分支 */public class DemoA { //小明参加考试,如果成绩大于80,奖励 pub...原创 2019-06-30 00:42:25 · 162 阅读 · 0 评论 -
数组
package ShuZu;//数组的定义/*什么是数组1 数组是一个变量2 这个变量对应多个值3 一般通过数组名和下标来获取到其中的某个值 其中下标从0开始4 数组的长度一经定义不能修改,也就是说数组是定长的5 数组中只能存放同一类型的数值6 数组定义后如果未赋值 系统会给一个默认初始值 原始数据类型为0 引用类型为NULL */public class Lian0...原创 2019-06-30 00:47:22 · 107 阅读 · 0 评论 -
面向对象基础
一.类1.什么是类:类别,分类,类型,的意思,类是对对象的抽象,你可以把类看成是对象的数据类型。它是一个概念化的东西,在内存中并不存在。2.如何定义一个类:其实就是产生一个java文件,书写相应的属性和方法。二.对象1.什么是对象:变量,值,它是一个实实在在存在的内容,对象是对类的具体实现。2.如何产生一个对象:一个关键字:new。 通过类,产生一个对象。三.属性1.什么是属性:描述...原创 2019-06-30 00:51:11 · 71 阅读 · 0 评论 -
String类、StringBuilder类、StringBuffer类的常用方法
//字符串类----String类//字符串是一个常量,一经定义就不能修改(值、长度)public class StringLei { //如何产生一个字符串 public void a(){ //创建一个字符串str1,指向abc String str1="abc"; //创建一个空字符串 String str2...原创 2019-06-30 00:59:53 · 302 阅读 · 0 评论 -
异常处理
一、什么是异常程序在运行过程中出现的不正常现象,它会终止正在运行的程序。二、异常处理的方案1.抓住异常:try catch finallytry:可能产生异常的代码块 必须写,并且写一个,在最上边写catch:对一类异常的处理方案 可以省略 也可以书写多个finally:总会执行的代码块 可以省略 只能书写一个 在最后写//异常捕捉情况一public static void c...原创 2019-07-15 17:06:45 · 95 阅读 · 0 评论 -
封装类、Math类、Date类、Calendar类
//封装类:八个原始类型的封装类/*原始数据类型:是独立存在的,值相等,地址一定相等引用数据类型:是object子类,值相等,地址不一定相等int-----Integerbyte-----Byteshort----Shortlong----Longdouble----Doublefloat----Floatboolean---Booleanchar---Character ...原创 2019-07-15 17:10:36 · 78 阅读 · 0 评论 -
File类
//File类:文件和目录(文件夹)路径名的抽象表示public class DemoE { //如何表示一个文件或目录 public static void a(){ //file1代表E盘下的1文件夹中的a文件夹(目录) File file1 = new File("E://1//a"); //file2代表E盘下的1文件夹中的...原创 2019-07-15 17:21:24 · 66 阅读 · 0 评论 -
static、final、abstract修饰符、接口
访问修饰符本类 同包 子类 其他包 public √ √ √ √ protected √ √ √ × Default(缺省的)√ √ × × private √ × × ×package xzy0705;/*修饰符static:静态的属性:当前就是静态变量(类变量),不再依附于对象而存在了,现在直接可以通过类来调用方法...原创 2019-07-06 00:11:32 · 182 阅读 · 0 评论 -
封装、继承和多态
1.封装(1)概念:隐藏类的实现细节,将属性私有化,提供公开的方法访问这些私有属性(2)实现①将属性私有化,使用关键字private修饰属性②每一个私有属性提供两个方法,分别是getXxx和setXxx(3)好处①安全性:隐藏了属性,不让直接控制,可以通过方法来间接控制私有属性②定制性:将所有属性都隐藏了,你可以对属性定制操作(比如给set方法或者get里面加if else 判断)...原创 2019-07-04 09:32:46 · 111 阅读 · 0 评论