java
王四九
考上清华大学,获得ACM金牌,荣获校内十佳歌手,中彩票等等以上经历都没有遇到过。。。
展开
-
tomcat 配置项目默认访问
实现默认访问项目有两个方法。(博主是基于ubuntu的服务器)1.将项目名修改为root这种方法简单粗暴,但并不推荐,因为可扩展性差,并且tomcat的默认项目root需要删除,如果以后需要用到就莫得了。(其实我也不知道它有什么用)2.修改server。xml的配置文件打开tomcat目录下的conf文件夹,里面有个server.xml配置文件,用vim打开后vi server.xml...原创 2020-04-01 15:59:18 · 600 阅读 · 0 评论 -
java 垃圾回收算法
1.垃圾回收机制的意义java区别C/C++语言的原因就在于它的垃圾自动回收机制。我们都知道C/C++开发时有个经常发生的问题就是内存泄漏,程序员需要手动释放内存才能避免内存泄漏,但是Bug总是无处不在的,而java则为了有效避免这个问题,不允许程序员手动释放内存,改为设计一个垃圾回收器进行内存回收。(即使如此,还是有较少的情况可能会发生内存泄漏的 )。2.垃圾回收算法分类垃圾回收分为两个步...原创 2020-03-21 00:28:07 · 95 阅读 · 0 评论 -
java 虚拟机(JVM) 内存模型
虚拟机内存分区线程私有的程序计数器每一个线程都会维护一个程序计数器,内存空间较小,JVM工作的原理就是通过改变程序计算器内的值然后去找到下一条需要执行的字节码指令的地址,分支循环异常等功能都是依赖于它实现的。如果是Native方法则值是underfine。虚拟机规范中唯一一个没有OutOfMemoryError的地方。虚拟机栈线程私有的,生命周期与线程相同,用来描述一个线程方法执...原创 2020-03-20 21:11:51 · 144 阅读 · 1 评论 -
java synchronized理解
1.synchronized有什么用?synchronized是java的一个关键字,用于多线程同步,可以用来修饰代码块和方法,作用都是标识该部分代码只能被一个线程进入执行。(也就是线程在代码里面能一直占用到cpu的时间片)2.synchronized的用法修饰代码块synchronized(锁){//代码块}修饰方法(也可以是静态方法)public synchronized v...原创 2020-03-12 22:27:19 · 297 阅读 · 0 评论 -
进程、线程、协程的区别?
进程:进程是操作系统中进行资源分配的最小单元。线程:是轻量级进程,是进程的一个实体,一个进程可以拥有多个线程,线程的上下文切换是在内核态完成的,线程是cpu调度的最小单元。协程:协程与进程和线程不同,并不是进程和线程这种操作系统中支持并存在的,它更像是一个概念,我的理解是它是一个子程序或是函数,存在于线程中,就像在线程中调用函数一样,但是协程可以切换,一个协程运行到一半可以切换到另一个协程,这...原创 2020-03-10 20:39:22 · 68 阅读 · 0 评论 -
java 异常总结
1.什么是异常java异常是java提供一种识别和响应错误的一致性机制。Throwable类是所有异常的父类Throwable类以下分为两大异常类型:Error和exceptionError类:程序无法处理的错误,表面运行应用程序中出现了严重的错误。Exception:程序本身可以捕获并且可以处理的异常。Exception 这种异常又分为两类:运行时异常和编译时异常。运行时异常:Run...原创 2020-03-08 23:18:44 · 104 阅读 · 0 评论 -
Java 集合知识点的面试问题
1.Java中的集合分类集合框架由Collection接口和Map接口组成。其中Colelection接口中有两个子接口Set接口和List接口主要的实现类有以下Map接口:HashMap,TreeMap,HashTable,ConcurrentHashMap等Set接口:HashSet,TreeSet,LinkHashSet等List接口:ArrayList,LinkList,Vec...原创 2020-03-07 19:31:59 · 97 阅读 · 0 评论 -
java 基础知识点
1.覆盖和重载覆盖是子类对父类方法的重写,访问权限不能比父类小,只能抛出更少的异常。重载,是同一方法的多样性,构成重载的条件可以有三种参数个数,参数类型,参数顺序。返回值无法构成重载,因为有时候使用一个方法我们并不关心它的返回值例如有两个方法 int f() ,string f(), f();编译器无法确定使用哪个方法。2.抽象类和接口的区别抽象类可以没有抽象方法,接口只能...原创 2020-03-05 19:09:55 · 157 阅读 · 0 评论 -
java 多线程 volatile关键字
volatile adj.易变的;无定性的C语言、C++、C#和Java语言中都有volatile,它被用来解决多线程环境下共享变量的不一致性。JDK1.2 之前线程是直接在主存(即共享内存)中读取变量的,所以不存在变量的不一致性,但当前的java内存模型,经过优化,每一个线程都会持有一个工作内存用来存放主存的变量副本,加快速度,这样回导致一个线程对变量进行修改(还未写回内存),但另一个...原创 2020-03-02 18:27:27 · 83 阅读 · 0 评论 -
java 多线程 并发篇
1.什么是并发与并发相近的一个概念是并行。1.并行是在同一时间同时进行。2.并发是在连续的间隔时间内连续发生。多线程在宏观上看起来是同一时间发生的,但实际上是在操作系统的调度下分配不同的时间片进行的。所以java多线程在一般情况下运行顺序是并发且无法预测的。例子public class SynTest implements Callable<String>{ static...原创 2020-03-02 17:28:06 · 112 阅读 · 0 评论 -
java 多线程基础篇
备战大厂暑器实习面试,java多线程知识的学习与回顾,主要内容是基础知识。原创 2020-02-28 22:06:40 · 117 阅读 · 0 评论 -
java static和final关键字
在java中,final和static是两个常用的重要关键字。final修饰变量表示变量是常量,不可更改,并且需要初始化(即需要给定一个具体的值或者实例)。例如,final int i=1;i=2;//这一句会编译不通过,因为常量不可更改。final 修饰具体类时,表示该类无法被继承final修饰Test类,导致FinalTest无法继承Testfinal修饰方法是,方法无法被子类继...原创 2019-10-09 17:40:58 · 107 阅读 · 0 评论 -
java lambad表达式
jdk8新特性 ——Lambada表达式java在jdk8之前是没有Lambada函数式编程,只有匿名类,jdk8出现了Lambada表达式,简化了编写匿名类的代码。Lambada只能用在单一抽象方法的接口。使用方式如下,以Runnable接口为例。Lambada表达式写法 Runnable r=()->{run detail}匿名类写法Runnable r=ne...原创 2019-09-21 21:26:21 · 213 阅读 · 0 评论