java技术
xs80plus
我爱自己,就会日出而作,日落而息。
展开
-
try、catch、finally用法总结
try{ retrun 3;}catch{ e.printStackTrace();}finally{ return 4;}//上边情况下,实际返回的是4;try{ int x = 3; retrun x;}catch{ e.printStackTrace();}finally{ x++;}//上边情况下,实际返回的3...原创 2020-04-19 20:31:49 · 305 阅读 · 1 评论 -
反射中,Class.forName和ClassLoader区别 。
Java中class是如何加载到JVM中的:1.class加载到JVM中有三个步骤 装载:(loading)找到class对应的字节码文件。 连接:(linking)将对应的字节码文件读入到JVM中。初始化:(initializing)对class做相应的初始化动作。2.Java中两种加载class到JVM中的方式 2.1:Class.forName(“cla...转载 2020-03-11 16:44:46 · 182 阅读 · 0 评论 -
抽象类和接口的区别
从形态上看抽象类可以给出一些成员的实现,接口却不包含成员的实现;抽象类的抽象成员可被子类部分实现,接口的成员需要实现类完全实现,一个类只能继承一个抽象类,但可实现多个接口等等。如何区分类是对对象的抽象,抽象类是对类的抽象;接口是对行为的抽象。若行为跨越不同类的对象,可使用接口;对于一些相似的类对象,用继承抽象类。抽象类是从子类中发现了公共的东西,泛化出父类,然后子类...转载 2020-02-22 14:46:56 · 169 阅读 · 0 评论 -
类的实例化顺序
package com.company.demo1;public class ClassInit {public static void main(String[] args) {System.out.println("1");new B();}}class A {static {System.out....转载 2019-12-12 18:50:43 · 192 阅读 · 1 评论 -
拦截器过滤器区别
过滤器和拦截器的区别: ①拦截器是基于java的反射机制的,而过滤器是基于函数回调。 ②拦截器不依赖与servlet容器,过滤器依赖与servlet容器。 ③拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。 ④拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。 ⑤在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始...转载 2018-11-11 17:52:22 · 247 阅读 · 0 评论 -
serialVersionUID作用
serialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常,即是InvalidCastEx...转载 2019-01-18 17:07:34 · 444 阅读 · 0 评论 -
Spring-Data-Redis
Redis知识整理Jedis常用方法APISpring-Data-Redis项目(简称SDR)对Redis的Key-Value数据存储操作提供了更高层次的抽象,类似于Spring Framework对JDBC支持一样。项目主页: http://projects.spring.io/spring-data-redis/项目文档: http://docs.spring.io/sprin...转载 2019-01-10 10:49:18 · 183 阅读 · 0 评论 -
java程序启动的时候,是不是一次性加载所有类
我们知道java程序运行的时候,所有类必须被加载到jvm虚拟机中才可以正常使用那么问题来了,是不是所有的class文件都在启动的时候全部加载呢?java中的类大致分为三种:1.系统类2.扩展类3.由程序员自定义的类java类加载器又分:1)Bootstrap ClassLoader负责加载$JAVA_HOME中jre/lib/rt.jar里所有的class,由C...转载 2019-03-17 18:33:51 · 1951 阅读 · 0 评论 -
socket实现简单web服务器,可查看http请求信息
之前看过一些介绍http协议的资料,比如哪个属性是控制什么的这种内容,但是一直都没有一个对http协议直观的感受。现在有时间可以深入理解http协议了。这里有一个简单的socket实现的http服务器,该服务器可以查看完整的http的请求信息。代码如下:import java.io.IOException;import java.io.InputStreamRead...转载 2019-04-02 12:24:15 · 378 阅读 · 0 评论 -
Mybatis传多个参数(三种解决方案)
第一种方案DAO层的函数方法Public User selectUser(String name,String area);对应的Mapper.xml<select id="selectUser" resultMap="BaseResultMap">select * from user_user_t where user_name = #{0} and user_area...转载 2019-04-28 00:19:54 · 2700 阅读 · 1 评论 -
你真的了解 Cookie 和 Session 吗
第一层楼什么是 Cookie 和 Session ?初级程序员高频面试题。什么是 CookieHTTP Cookie(也叫 Web Cookie或浏览器 Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie...转载 2019-05-15 12:34:23 · 98 阅读 · 0 评论 -
IDEA常用快捷键
操作 描述 CTRL+N 查找类 CTRL+SHIFT+N 查找文件 CTRL+SHIFT+ALT+N 查找类中方法或变量 SHIFT+SHIFT 搜索任意地方 CTRL+ALT+L 格式化代码 CTRL+ALT+O 优化导入的包 ALT+INSERT 自动生成代码 CTRL+E 最近打开的文件列表 CTRL...原创 2019-05-23 18:13:25 · 176 阅读 · 0 评论 -
Java基础之—反射
反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码))一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件...转载 2019-09-02 11:44:11 · 428 阅读 · 0 评论 -
java三大器之———拦截器(spring提供的)
HandlerInterceptor概述在SpringMVC 中定义一个Interceptor是比较非常简单,主要有两种方式: 第一种:实现HandlerInterceptor 接口,或者是继承实现了HandlerInterceptor 接口的类,例如HandlerInterceptorAdapter; 第二种:实现Spring的WebRequestInterceptor接口,或者是继承实...原创 2018-11-11 17:42:53 · 243 阅读 · 0 评论 -
java三大器之———监听器Listener
1.Listener概念•Web应用程序员可以利用Listener接口,监听在容器中某一个执行程序,并且根据其应用程序的需求做出适当的响应•监听器的作用就是:当服务器端发生了某个事件(Event)时,调用事件处理程序•在Servlet2.4/JSP2.0共有八个Listener接口和六个Event类2.Listener接口与事件对应表 分类 List...原创 2018-11-04 18:01:56 · 271 阅读 · 0 评论 -
SpringAop总结
1.我对Aop的理解是在不改变源代码的基础上,扩展新的功能。2.概念解释:public class User { /** * 连接点:类里面可以被增强的方法 * 切入点:类里面已经被增强的方法 * 通知/增强:扩展的功能(逻辑) * ①前置通知:在方法之前执行 * ②后置通知:在方法之后执行(出现异常也会执行) * ...原创 2018-04-24 22:53:10 · 172 阅读 · 0 评论 -
spring整合quartz(定时任务)
1.除了spring的核心jar包外还需要引入下面jar包 quartz-2.2.3.jar,spring-context-support-5.0.5.RELEASE.jar可能还需要引入slf4j-api-1.7.21.jar,slf4j-log4j12-1.7.21.jar如果运行中抛异常,可以根据日志去看hai...原创 2018-05-12 19:19:55 · 171 阅读 · 0 评论 -
Linux安装JDK-Tomcat-Mysql-Redis
1.准备工作yum install glibc.i686 yum install gcc-c++原创 2018-06-01 17:00:51 · 78 阅读 · 0 评论 -
Linux干净卸载Mysql
二进制包/源码安装方式的MySQL卸载ps -ef | grep mysql(查看进程状态)service mysql status(查看mysql服务状态)service mysql stop(停止mysql服务)find / -name mysql(查找MySQL的安装目录并彻底删除)[root@server bin]# find / -name mysql/home...原创 2018-07-22 18:06:54 · 596 阅读 · 0 评论 -
Linux安装Mysql
linux安装mysql服务分两种安装方法:①源码安装,优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错;②使用官方编译好的二进制文件安装,优点是安装速度快,安装步骤简单,缺点是安装包很大,300M左右。以下介绍linux使用官方编译好的二进制包安装mysql。1.下载地址https://www.mysql.com/downloads/...原创 2018-07-22 19:13:31 · 196 阅读 · 0 评论 -
Linux查看mysql使用的是哪个my.cnf
1.查看是否使用了指定目录的my.cnf ps aux|grep mysql|grep 'my.cnf'2.查看mysql默认读取my.cnf的目录 mysql --help|grep 'my.cnf' (会按顺序加载)3.启动时没有使用配置文件 如果没有设置使用指定目录my.cnf文件及默认读取目录没有my.cnf文件,表示mysql启动时并没有加载配置文件,而是使用默...原创 2018-07-22 20:22:22 · 4124 阅读 · 0 评论 -
mysql查看binlog
mysqlbinlog简介binlog又叫二进制日志文件,它会将mysql中所有修改数据库数据的Query以二进制的形式记录到日志文件中,如:create,insert,drop,update等;(对于select操作则不会被记录到binlog里,因为它并没有修改数据库的数据)。binlog一般存储在数据目录下,并且命名为:mysql-bin.*(这个可以在配置文件中修改my.cnf:l...转载 2018-07-31 18:55:14 · 755 阅读 · 0 评论 -
java基础一(List/Set/Map/String/StringBuilder/StringBuffer)
1.有时间大家可以研究下JDK的源码,现在只是先大概总结下。2.List(①有序②可重复)ArrayList(①底层数组②线程不安全③注意remove有坑) LinkedList(①底层是双向链表②线程不安全全) Vector(①底层是数组②通过synchronized保证线程安全)3.Set(不重复)HashSet(①无序②不重复③线程不安全) LinkedHashSet(①...原创 2018-08-25 22:16:17 · 316 阅读 · 0 评论 -
java自带线程池和队列详细讲解
一简介 线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题提供了非常大的帮助。二:线程池线程池的作用:线程池作用就是限制系统中执行线程的...转载 2018-10-08 13:40:07 · 268 阅读 · 0 评论 -
Timer的缺陷 用ScheduledExecutorService替代
1、Timer管理延时任务的缺陷a、以前在项目中也经常使用定时器,比如每隔一段时间清理项目中的一些垃圾文件,每个一段时间进行数据清洗;然而Timer是存在一些缺陷的,因为Timer在执行定时任务时只会创建一个线程,所以如果存在多个任务,且任务时间过长,超过了两个任务的间隔时间,会发生一些缺陷:下面看例子:Timer的源码:public class Timer { /** ...转载 2018-10-10 10:36:26 · 145 阅读 · 0 评论 -
java三大器之———过滤器Filter
1.先来看一张图2.过滤器的功能:①分析请求,将请求发送给指定的资源或自己创建一个响应返回②在请求到达服务器前处理请求,设置头请求信息,将请求封装成符合规则的对象3在响应到达客户端前处理响应,将响应封装成符合规则的对象3.过滤器的用途4.过滤器的执行过滤器处理请求采取以下3种情况之一①过滤器自身产生一个响应,返回给客户端②把请求转发给过滤器链中的下一个过...原创 2018-10-28 19:14:42 · 213 阅读 · 0 评论 -
java日志组件介绍(common-logging,log4j,slf4j,logback )
common-loggingcommon-logging是apache提供的一个通用的日志接口。用户可以自由选择第三方的日志组件作为具体实现,像log4j,或者jdk自带的logging, common-logging会通过动态查找的机制,在程序运行时自动找出真正使用的日志库。当然,common-logging内部有一个Simple logger的简单实现,但是功能很弱。所以使用common-...转载 2018-10-23 10:55:11 · 156 阅读 · 0 评论 -
全文检索原理
转载一篇总结的相当不错的全文检索原理的文章https://blog.csdn.net/lirenzuo/article/details/54728881 我们生活中的数据总体分为两种:结构化数据和非结构化数据。 结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。 非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等。 ...转载 2018-10-31 11:07:48 · 840 阅读 · 1 评论 -
Spring基本知识总结
1.如果你的英语足够好可以去看spring的官网。 地址如下https://spring.io/2.简单介绍spring ①开源轻量级框架,说白了就是简化开发 ②核心部分:AOP切面编程:我理解的就是在不改变已有代码的情况下去扩展一些功能。 IOC控制反转:还记得刚学程序的时候么,是private Student stu=new Stude...原创 2018-04-19 22:27:14 · 285 阅读 · 0 评论