![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 61
君子为猿
这个作者很懒,什么都没留下…
展开
-
centos6.9下jdk1.7升级jdk1.8,java -version没变
1、下载jdk1.8;2、移动到服务器 /usr/local 解压3、vi /etc/profile修改classpath为新路径source /etc/profilejava -version依然是1.74、若source过程中报错bash: TMOUT: readonly variable然后vi /etc/profile先把注释掉,再source;5、发现java -version依旧没变,使用 rpm -qa | grep java也是没有返回内容,原装的jdk已经被卸干净原创 2021-02-18 16:34:25 · 274 阅读 · 0 评论 -
servlet的生命周期
servlet通过调用init()方法进行初始化;servlet通过service()方法来处理客户端的请求;servlet通过destroy()方法终止(结束)最后servlet是由JVM的垃圾回收器进行垃圾回收原创 2020-08-12 00:50:16 · 80 阅读 · 0 评论 -
Https请求不信任服务器的证书报错解决方案
调用第三方系统Https接口时,出现报错信息如下:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed:sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targetat原创 2020-07-11 12:45:03 · 2657 阅读 · 0 评论 -
转发(forward)与重定向(redirect)的区别
Servlet 主要有两种实现跳转的方式: forward 方式 与 redirect 方式。forward 是服务器内部的重定向,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,而客户端并不知道,因此在客户端浏览器的地址栏中不回显示转向后的地址,还是原来的地址。由于在整个定向的过程中用的是同一个Request,因此forward会将Request的信息带到被定向的JSP或Servlet中使用。redirect 是客户端的重定向,是完全的跳转,即客户端浏览器会获取到跳转后的地址,然后重原创 2020-06-25 00:10:27 · 477 阅读 · 0 评论 -
异常处理的知识总结
一:throw和throws的区别:throw 代表一个具体动作,表示抛出一个异常,若执行了throw一定是抛出了某种异常;throws 代表一种状态,用来声明一个方法可能抛出的所有异常信息,方法可能有异常抛出,但不一定会发生异常。throw 用在方法实现中,由方法体内的语句处理;throws 用在方法声明中,表示如果抛出异常,则由该方法的调用者来进行异常处理。throw 只能用于抛出一种异常;throws 可以抛出多个异常throw 需要用户自己捕获相关的异常,而后在对其进行相关包装,最原创 2020-06-15 19:06:00 · 159 阅读 · 0 评论 -
String、StringBuffer、StringBuilder和StringTokenizer的区别
String:不可变类,对象一旦被创建,其值将不能被改变,因此适合再需要被共享的场合中使用,而当一个字符串经常需要被修改,尽可能不使用String。实例化String时,可以利用构造函数(String str=new String(“hello”))的方式去进行初始化也可以通过赋值(String str=“hello”)的方式去初始化.String字符串修改原理:当用String类型来对字符串进行修改时,其实现方法是首先创建一个StringBuilder,其次调用StringBuilder的appen原创 2020-05-14 23:54:29 · 161 阅读 · 0 评论 -
cookie和session有什么区别?
cookie是在HTTP下,服务器或脚本可以维护客户工作站上信息的一种方式。它是由web服务器保存在用户浏览器上的小文件,可以包含有关用户的信息(如身份正识别号码、密码等信息)。session是指用来在客户端与服务端之间保持状态的解决方案以及存储结构。区别:cookie机制采用的是在客户端保持状态的方案,即数据存放在客户的浏览器上;而session机制采用的是服务端保持状态的方案,即数据放在服务端上。cookie安全性不够。由于cookie信息存放在客户端,其他人可以很容易地得到存放在本地的coo原创 2020-05-11 13:39:44 · 93 阅读 · 0 评论 -
线程和进程的区别?为什么使用多线程?
进程 : 是指一段正在执行的程序。线程: 是指程序正在执行过程中,能够执行程序代码的一个执行单元。线程有时也被称为轻量级进程,它是程序执行的最小单元,一个进程可以拥有多个线程。各个线程之间共享程序的内存空间(代码段、数据段、堆空间)及一些进程级的资源(例如打开的文件),但是各个线程拥有自己的栈空间。简单地说,线程所使用的资源来自其所属进程的资源,线程组之间只能共享资源。注意:在Java语言中,线程有4种状态:运行、就绪、挂起、结束。线程与进程的区别:1)地址空间和其它资源(如打开文件):进程原创 2020-05-08 22:25:03 · 998 阅读 · 0 评论 -
JVM-双亲委派机制和沙箱安全机制
双亲委派机制的工作原理:如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行;如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将要到达顶层的启动类加载器;如果父类加载器可以完成类加载任务,就成功返回,倘若父类加载器无法完成此加载任务,子加载器才会尝试自己去加载,这就是双亲委派模式.举个例子:假如你自定义了Java.lan...原创 2020-05-02 15:03:05 · 337 阅读 · 0 评论 -
JVM-类加载器
JVM支持两种类型的类加载器,分别是启动类加载器(引导类加载器,Bootstrap ClassLoader)和自定义加载器(User-Defined ClassLoader)。如下图从概念上来讲,自定义类加载器一般是指程序中由开发人员自定义的一类类加载器,但是Java虚拟机规范却没有这么定义,而是将所有派生于抽象类ClassLoad的类加载都划分为自定义类加载器。(Extension Clas...原创 2020-05-02 02:57:06 · 204 阅读 · 0 评论 -
方法的参数传递机制以及不可变类
形参是基本数据类型传递数据值实参是引用数据类型传递地址值特殊的类型:String、包装类等对象不可变性import java.util.Arrays;public class Demo { public static void main(String[] args) { int i=1; String str="hello"; /...原创 2020-04-28 00:08:28 · 339 阅读 · 0 评论 -
对volatile的理解与思考
volatile的翻译过来的意思是:易变的、 无定性的;被volatile修饰的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。因为使用Java编程的过程中,有时为了提高程序的运行效率,编译器会自动对其进行优化,把经常被访问的变量缓存起来,程序在读取这个变量是有可能会直接从缓存(例如寄存器)中读取这个值,而不是去内存中读取。这样做的一个好处是提高了程序的运行效率,...原创 2020-04-27 23:58:59 · 199 阅读 · 0 评论