Java
文章平均质量分 79
NightYing
这个作者很懒,什么都没留下…
展开
-
Linux常用命令
Linux目录结构/bin: (binaries) 存放系统命令的目录,所有用户都可以执行。/sbin : (super user binaries) 保存和系统环境设置相关的命令,只有超级用户可以使用这些命令,有些命令可以允许普通用户查看。(root)/root: 存放root用户的相关文件,root用户的家目录。宿主目录 超级用户/home:用户缺省宿主目录 eg:/home/spark /home/pengfei/tmp:(temporary)存放临时文件/etc:(etc.原创 2021-03-16 09:49:25 · 72 阅读 · 0 评论 -
Javase知识点
Java 基础语法Java 变量类型Java 基本数据类型Java 面向对象 面向对象三大特征:Java 修饰符Java 运算符Java 循环结构Java 分支结构Java Number类和Math类Java String类Java StringBuffer 和 StringBuilder 类Java 数组Java 日期时间类java 流(Stream)、文件(File)和IOJa..原创 2020-07-05 21:36:46 · 187 阅读 · 0 评论 -
Java_IO流
File类1.静态属性文件路径分隔符static String pathSeparator 与系统相关的路径分隔符字符,为方便起见,表示为字符串。 static char pathSeparatorChar 与系统相关的路径分隔符。 static String separator 文件分隔符,以方便的方式表示为字符串。 static char separatorChar 文件分隔符。2.构造方法创建路径对象File(File parent, String child) 从父抽原创 2020-06-14 22:24:20 · 181 阅读 · 0 评论 -
Java锁
Java锁乐观锁乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版本号,如果一样则更新),如果失败则要重复读-比较-写的操作。java 中的乐观锁基本都是通过CAS 操作实现的,CAS 是一种更新的原子操作,比较当前值跟传入值是否一样,一样则更新,否则失败。CAS:解决CAS中的ABA问题是通过给那个变量增加原创 2020-06-13 15:54:36 · 141 阅读 · 0 评论 -
Java线程池
线程池程序新建和启动一个线程花费的成本实际很高,因为涉及到要和系统进行交互。使用线程池可以很好的提高性能。尤其是当程序中需要大量的生命周期比较短的线程时,更应该考虑使用线程池。线程池里面的每一个线程使用完成之后,不会死亡。而是会再次回到池中。等待下一次被使用在jdk5之前,我们需要自己实现线程池,但是从5之后,java就内置了线程池。新增了一个Executors 工厂类,通过这个类可以来生产线程池。Executors 工厂类,ExecutorService是一个继承了Executor的接口注意原创 2020-06-11 23:44:15 · 103 阅读 · 0 评论 -
Java多线程
概念* 并发:这俩个或多个时间在同一时间段内发生,交替执行* 并行:这俩个或多个同时执行,同时执行* 进程:每个进程都是一个独立的单位,可以理解为,进入内存的程序就是进程* 线程:线程是进程的执行单位,负责当前进程中程序的执行,一个进程可以有多个线程* cpu:中央处理器,对数据进行计算线程的调度分时调度:所有线程轮流使用CPU的使用权抢占式调度:优先让优先级高的线程使用CPU多线程的运行原理主线程开始,new的时候,开辟新的栈空间,执行run方法,之间互不影响,抢占Cpu的使用权。J.原创 2020-06-11 23:46:27 · 153 阅读 · 0 评论 -
Java异常
常的分类:Throwable:异常基类Error:错误子类。。。Exception:异常RuntimeException: 运行期异常子类。。。非RuntimeException: 编译器异常异常的处理关键字:try、catch、finally、throw、throwsthrow:1.throw必须写在方法的内部,只能写一个异常2.throw后边new的对象必须是Exception或者Exception的子类对象3.throw抛出编译期的异常对象,我们就必须处原创 2020-06-11 23:48:09 · 98 阅读 · 0 评论 -
Java集合
集合框架显示:详细一点的:集合的特性Collection集合Collection方法:-添加boolean add(E e) 添加一个元素 boolean addAll(Collection<? extends E> c) 添加一整个集合的元素-删除void clear() 删除集合中所有元素boolean remove(Object o) 移除指定元素boolean removeAll(Collection<?> c) 移除一个集合的所有元素(移原创 2020-06-11 23:48:34 · 123 阅读 · 0 评论 -
Java数据结构(集合)
数据结构_栈:先进后出(入口和出口时同一个)数据结构_队列:先进先出(入口和出口在集合的俩边)数据结构_数组:查询快,增删慢数据结构_链表:查询慢,增删快红黑树:特点:趋近于平衡树,查询非常快约束:1.节点可以是红色或者黑色2.根节点时黑色的3.叶子节点是黑色的4.每个红色的节点的子节点都是黑色的5.任何一个节点到其每一个叶子节点的所有路径上黑色节点数相同...原创 2020-06-11 23:48:45 · 79 阅读 · 0 评论 -
Java泛型
概念:泛型是一个未知的数据类型E e:Element 元素T t:Type 类型等使用泛型和不使用泛型的区别不适用泛型好处:集合不使用泛型,默认类型是Object类型,可以存储任意类型弊端:不安全,会引发类型转换异常使用泛型好处:避免的转换的麻烦,存储什么类型,取出什么类型;把运行期异常提醒到编译器弊端:泛型是什么类型只能存储什么类型泛型的定义和使用泛型类定义格式:修饰符 class 类名<泛型>{}class ArrayList<E> { .原创 2020-06-11 23:48:55 · 4579 阅读 · 6 评论 -
Java基本类和String的相互转换
基本类型–>String基本类型的值+""包装类的静态方法tostringstatic String tostring()String类的静态方法valueOf()static String valueOf(参数) String–>基本类型使用包装类中的parseXXX(“数值类型的字符串”)static int parseInt(String s) ...原创 2020-06-11 23:49:05 · 142 阅读 · 0 评论 -
Java_String与StringBuffer的转换
String转化为StringBuffer:StringBuffer(String str)StringBuffer append(Object obj) 有很多重载,可以添加任意类型StringBuffer转化为String:String(StringBuffer s)tostring()原创 2020-06-11 23:49:25 · 198 阅读 · 0 评论 -
Java_StringBuffer和StringBuilder类
StringBuffer和StringBuilder区别是线程安全与否,方法大都相同构造方法StringBuffer() 默认16StringBuffer(int capacity)StringBuffer(String str)成员方法-添加StringBuffer append(Object obj) 有很多重载,可以添加任意类型StringBuffer insert(int offset, Object obj) 有很多重载,可以添加任意类型-删除StringBuffer del原创 2020-06-11 23:52:22 · 64 阅读 · 0 评论 -
Java_System类
1,System类包含几个有用的类字段和方法。 它不能被实例化。2,成员方法和成员变量static InputStream in “标准”输入流。 static PrintStream out “标准”输出流。 static void gc() 运行垃圾回收器。 static void exit(int status) 终止当前运行的Java虚拟机。 static long currentTimeMillis() 返回当前时间(以毫秒为单位)。 static void arraycopy原创 2020-06-11 23:50:17 · 75 阅读 · 0 评论 -
Java_Calendar类
1,概述-Calendar类是一个抽象类,它为特定的瞬间 比如YEAR ,MONTH ,DATE, DAY_OF_MONTH , HOUR ,MINUTE,SECOND等等这些日历字段提了一些方法,可以获取或者操作日历中的这些字段。通过静态方法使用。(注意:西方的月份是0-11月)2,成员方法public static Calendar getInstance() 获取对象以来调方法public int get(int field) //返回给定字段的值public void set(int f原创 2020-06-11 23:50:00 · 102 阅读 · 0 评论 -
Java_Date与DateFormat
Date概述-Date类代表了一个特定的时间,以毫秒的精度,从1970年1月1日开始构造方法-Date() 根据当前系统时间创建日期对象-Date(long date) 根据指定的毫秒值创建日期对象成员方法-很多已经过时了,被Calendar类的方法替代了Long getTime() 将Date对象转换为毫秒值-setTime(long time) 设置时间获取当前时间的毫秒值用system中的currentTimeMillis()方法static long current原创 2020-06-11 23:50:43 · 71 阅读 · 0 评论 -
Java equals、tostring、==
equalsequals方法,默认比较的是俩个对象的地址值,没有意义,要求比较对象的内容,所以需要重写equals方法public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Student student = (Student) o; return ag原创 2020-06-11 23:48:22 · 170 阅读 · 0 评论 -
Java内部类
内部类成员内部类修饰符 类名(){ 修饰符 类名(){ }}成员内部类的使用:间接方式:在外部类的方法中,使用内部类,然后调用外部类的方法直接方式:外部类名称.内部类名称 对象名 = new 外部类名称().内部类名称();变量访问特点:就近原则局部内部类(包含匿名内部类)格式:将类定义在方法中局部内部类final修饰,Java8以后可以不写final,但系统会默认添加final。原因是生命周期。匿名内部类定义格式:接口名称 对象名 = new 接口名称(){原创 2020-06-11 23:51:11 · 72 阅读 · 0 评论 -
Java封装、继承、多态特点
一,封装-隐藏对象的属性和实现细节,对外提供共有的访问方式。-好处:提高了安全性提高了代码的复用性-封装原则:把不需要对外提供的内容就隐藏起来把属性隐藏,提供公有的方法对其进行访问。二、继承提高了程序的可维护性少写代码三、多态1,多态的前提和体现-要有继承关系-要有方法重写(没有也可以,但是没有意义)-要有父类引用指向子类对象2,只有编译看左边,运行看右边3,不能访问子类特有内容-----解决: 向下转型4,多态的好处和弊端-提高了程序的可扩展性(由多态保证的)-提原创 2020-06-11 23:51:23 · 304 阅读 · 0 评论 -
Java接口详解
接口命名规范成员变量:public static final +xxx;如果不加public static final 也可以,系统会自动加public static final成员方法public abstract XXX();不能有方法体,需要让实现类进行实现public default XXX(){}需要有方法体,目的是解决接口升级问题,接口的实现类会默认继承该默认方法,实现类也可以重写默认方法如果不加public abstract/default修饰符,系统默认处理是加public d原创 2020-06-11 23:52:40 · 72 阅读 · 0 评论 -
Java_String
任何由双引号创建的对象都是String类型的对象,在堆内存中的字符串常量池中(jdk7以后常量池在堆中),在不进行new的情况下,相同的字符串的地址相同。(在使用equals方法时推荐将常量放在前面)String常用方法:构造方法String() //创建一个空的字符串String(byte[] bytes) //将byte数组转换成字符串String(byte[] bytes, int offset, int length) //截取数组字符串String(char[] val原创 2020-06-11 23:49:34 · 172 阅读 · 0 评论 -
Java局部变量和成员变量的区别
区别:定义的位置不同局部变量:在方法内部成员变量:在类中方法外作用范围不同局部变量:只有在方法中使用成员变量:在类中使用默认值不一样局部变量:没有默认值,如果要使用,必须手动创建成员变量:会有默认值,规则和数组一样内存的位置不一样局部变量:位于栈内存成员变量:位于堆内存生命周期不一样局部变量:随着方法进栈而诞生,随着方法出栈而消失成员变量:随着对象创建而诞生,随着对象被垃圾回收而消失...原创 2020-06-11 23:53:07 · 88 阅读 · 0 评论 -
Java数组反转
代码:for (int min = 0, max = array.length - 1; min < max; min++, max--) { int temp = array[min]; array[min] = array[max]; array[max] = temp;}原创 2020-06-11 23:53:33 · 135 阅读 · 0 评论 -
Java内存划分
Java内存划分为5个部分1.栈(stack):存放的都是Java的局部变量,方法运行在栈内存当中2.堆(heap):new出来的东西,都在堆中,是一个地址值,都有默认值如果是整数 默认是0如果是浮点数 默认是0.0如果是字符 默认是‘\u0000’如果是布尔 默认是false如果是引用类型 默认是null3.方法区:存储.class相关信息4.本地方法栈:与操作系统相关5.寄存器:与CPU相关...原创 2020-06-11 23:45:55 · 71 阅读 · 0 评论