- 博客(30)
- 资源 (1)
- 收藏
- 关注
转载 jsp中include 的两种用法
1、两种用法 静态include: <%@ inlcude file =”header.jsp” %> 此时引入的是静态的jsp文件,它将引入的jsp中的源代码原封不动地附加到当前文件中,所以在jsp程序中使用这个指令的时候file里面的值(即要导入的文件)不能带多余的标签或是与当前jsp文件重复的东西。例如里面不要包含这样的标签,因为是把源代码原封不动的附加过来,所以会与当前的jsp中的这样的标签重复导致出错。 动态include: <jsp:include page=”header
2022-04-20 15:15:18
4040
转载 request.getSession()和request.getSession(true/false)的理解
request.getSession()和request.getSession(true)意思相同:获取session,如果session不存在,就新建一个 reqeust.getSession(false)获取session,如果session不存在,则返回null 如果 项目中无法确定回话一定存在,最好用request.session(false); getSession(boolean create)意思是返回当前reqeust中的HttpSession ,如果当前reqeust中的HttpSessi
2020-06-19 15:53:52
2261
转载 session学习笔记
Session默认时间是30分钟,设置为0或者附属不限制有效时间。 1.html中设置 <session-config> <session-timeout>30</session-timeout> </session-config> 2.web.xml设置 <session-config> <session-timeout>15</session-timeout&...
2020-06-19 15:43:47
239
原创 FreeMarker学习
一、什么是FreeMarker? FreeMarker 是一款模板引擎:一种基于模板的、用来生成输出文本(任何来自于 HTML格式的文用本来自动生成源代码)的通用工具。它是为 Java 程序员提供的一个开发包或者说是类库。它不是面向最终用户,而是为程序员提供的嵌入他们开发产品的一款应用程序。 FreeMarker 背后(确切的说是 MVC 模式的背后)的重要思想就是表现逻辑和业务逻辑相分离。在模...
2019-08-15 09:04:33
177
转载 mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法
从一个数据库数据迁移到本地localhost 程序在调用到数据库的视图时报错,直接在数据库中打开视图时也报错,类似: mysql 1449 : The user specified as a definer (‘montor’@’%’) does not exist 经查,是权限问题,解决办法: 运行:grant all privileges on . to monitor@"%" identif...
2019-08-07 11:16:40
293
原创 Synchronized和lock的区别
synchronized(隐式锁)是Java的关键字。 synchronized是内置的语言实现;synchronized在发生异常时,会自动释放线程占有的锁,因此不会导致死锁现象发生;当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。JDK1.5以后引入了自旋锁、锁粗化、轻量级锁,偏向锁来有优化关键字的性能。 Lock(显示锁)是一个接口。 当L...
2019-05-09 16:30:27
185
原创 为什么重写equals还要重写hashcode?
HashMap中,如果要比较key是否相等,要同时使用这两个函数。因为自定义的类的hashcode()方法继承于Object类,其hashcode码为默认的内存地址,这样即便有相同含义的两个对象,比较也是不相等的。 HashMap中的比较key是这样的: 先求出key的hashcode(),比较其值是否相等,若相等再比较equals(),若都相等则认为他们是相等的。若equals()不相等则认为...
2019-05-09 14:38:59
175
原创 请你解释什么是值传递和引用传递?
值传递: 值传递是对基本型变量而言的,传递的是一个变量的副本,改变副本不影响原变量。 引用传递: 引用传递一般是对对象(引用)型变量而言的,传递的是该对象地址的一个副本,并不是原对象本身,所以引用对象进行操作时会改变原对象。 一般java内的传递都是值传递 ...
2019-05-09 14:18:13
1097
原创 Array和ArrayList的区别?什么时候应该使用Array而不是ArrayList?
Array可以包含基本类型和对象类型,ArrayList只能包含对象类型; Array(数组)的大小是固定的,ArrayList(列表)的大小是动态变化的; ArrayList提供了更多的方法和特性:addAll()、removeAll()、iterator等; 对于基本类型数据,集合使用自动装箱来减少编码工作量。但是,当处理固定大小的基本数据类型的时候,这种方式相对比较慢。 ...
2019-05-09 14:04:24
4155
原创 Redis各种数据类型的命令
Redis有丰富的数据类型:String、 List、 Set、 Hash、 Sorted set 1.Set(集合): 添加:sadd key01 a b c a d b c 删除:srem key01 a 查询:smembers key01 提前建两个set类型 sadd keya 1 2 3 4 5 6 sadd keyb 4 5 6 7 8 9 set取交集:sinter...
2019-05-05 17:58:00
135
转载 web.xml配置
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://x...
2019-04-23 12:31:48
263
原创 Struts2核心原理
客户端初始化一个指向servlet的容器,例如(tomcat)的请求; 这个请求经过一系列的过滤器(Filter),其中有一个叫 ActionContextCleanUp 的可选过滤器,这个过滤器对于Struts2和其他框架的集成有很大的帮助。例如:(SiteMesh Plugin)主要 清理当前线程的 ActionContext 和 Dispatcher; 接着 FilterDispatche...
2019-04-20 15:16:02
227
转载 Struts1和Struts2的区别和对比:
Action 类: Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口,而struts2的Action是接口。 Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去 实现 常用的接口。Action接口不是必须的,任何有execute标...
2019-04-20 15:00:33
162
原创 ArrayList、LinkedList和Vector的区别
1.ArrayList 底层结构是数组,底层查询快,增删慢。 数组的特性:是可以通过索引的方式来快速定位对象的位置,因此对于快速的随机取得对象的需求,使用ArrayList实现执行效率上会比较好。 例如:如果ArrayList调用get(index)来进行查询,底层实现这样的: 首先:它会先判断传入进来的索引是否大于ArrayLiat的长度,如果大于ArrayList的长度,会抛出一个Java....
2019-04-17 15:38:32
205
转载 抽象类(abstract class)和接口(interface)有什么异同?
不同点: 抽象类:声明方法的存在,而不去实现它的类称为抽象类 抽象类中可以定义构造器 可以有抽象方法和具体方法 接口中的成员全都是 public 的 抽象类中可以定义成员变量 有抽象方法的类必须被声明为抽象类,而抽象类未必要有抽象方法 抽象类中可以包含静态方法 子类使用extends关键字来继承抽象类。如果子类不是抽象类的话,它需要提供抽象类中所有声明的方法的实现。 接口:抽象类的变体 接口...
2019-04-17 12:45:26
232
转载 == 和equals()方法的区别
1.equals() 和 == 最大的区别是一个是方法一个是运算符。 2. == 如果比较的是基本数据类型,那么比较的是二者的数值是否相等,如果比较的是引用数据类型,那么比较的是对象的地址值是否相等。equals()比较的是二者的对象的内容(数值)是否相等。 注意: equals不能用于基本数据类型的变量,如果没有对equals方法进行重写,那么引用数据类型的变量所指向的对象的地址。 //对eq...
2019-04-17 12:31:49
142
转载 &和&&二者区别
&:按位与 &&:逻辑与(短路与) 共同点:&和&&,二者都要求运算符左右两端布尔值都是true,整个表达式的值才为true。 不同点:如果&&左边表达式为false时,表达式右边运算直接被短路掉(不执行)。 例如:验证用户登录时:判断用户名不为空,且用户名也不为空字符串 if(username!=null&&!...
2019-04-17 12:14:58
351
原创 String、StringBuffer、StringBuilder区别
执行速度:(String<StringBuffer<StringBuilder) String是字符串常量,对String的操作其实是一个不断创建新象并重新回收旧对象的过程。即:每次内容的改变都产生了一个新的String对象,然后将指针移向新的对象。 String有lenth(),equals(),+。适用于少量字符串操作的情况。 由上图可知,String类是用final关键字修...
2019-04-12 13:01:09
200
原创 学习SpringBoot第二天
一、使用Spring Initializer快速创建Spring Boot项目 选择我们需要的模板,向导就会联网创建Spring Boot项目 默认生成的Spring Boot项目; 主程序已经生成好了,我们只需要我们自己的逻辑; Resource文件夹中的目录结构 a) Static:保存所有的静态资源;js css images b) Templates:保存所有的模板页面;(Spring ...
2019-04-10 13:37:31
129
原创 学习SpringBoot第一天
一、SpringBoot简介: 1.1 Spring Boot是做什么的? Springboot简化了spring应用开发的一个框架,整个spring技术栈的一个大整合,是J2EE开发的一站式解决方案 J2EE的整体整合解决方案和自动配置都在spring-boot-autoconfigure-1.5.9.RELEASE.jar; SpringBoot在启动的时候,会从类路径下的META-INT...
2019-04-10 13:08:28
160
原创 快速排序
快速排序: package com.it.test; //快速排序 public class _02kuaipai { public static int partition(int[] a, int low, int high) { int base = a[low]; while (low < high) { while (low < high &&...
2019-04-08 19:05:36
106
原创 冒泡算法
冒泡排序: package com.it.test; //冒泡排序 public class maopao { public static void maopao_sort(int[] a) { int temp = 0; for (int i = 0; i < a.length - 1; i++) { for (int j = 0; j < a.length - i...
2019-04-08 19:04:04
90
原创 对进程、线程、多线程、线程池的理解
一、进程与线程 进程是指内存中运行的应用程序,每个进程都有自己独立的一块内存空间。 线程是指进程中的一个执行流程,一个进程中可以运行多个线程。 进程和线程的区别: 线程是进程内的一个执行单元,进程至少有一个线程,多线程共享进程的地址空间,而进程有自己独立的地址空间。 操作系统以进程为单位分配资源,同一个进程内的线程,共享进程的资源。 线程是处理器调度的基本单位,但进程不是。 1.1线程的生命周...
2019-04-07 21:56:18
743
原创 MyBatis框架----面试点
一、MyBatis的运行原理:动态代理+反射机制 1、加载核心配置文件 String resource = "sqlMapConfig.xml"; InputStream in = Resources.getResourceAsStream(resource); 2、创建 SqlSessionFactory SqlSessionFactory sqlSessionFactory = new ...
2019-04-07 15:47:12
140
原创 Spring核心原理-----面试点
Spring是一个轻量级控制反转(IOC)和面向切面(AOP)的容器框架 一、spring容器的主要核心: 1.IOC控制反转: 就是把new对象实例化的工作交给spring容器来完成,spring帮我们负责销毁对象,掌控对象的生命周期,在需要使用对象的时候直接向spring申请即可。 2.DI依赖注入: spring 使用 javaBean 对象的 set 方法或者带参数的构造方法为我们在创建...
2019-04-07 14:00:48
1473
原创 SpringMVC工作原理
一、SpringMVC三大组件:处理器映射器、处理器适配器、视图解析器 核心:前端控制器 二、工作流程: 用户向服务器发送请求,请求被 springMVC 前端控制器 DispatchServlet 捕获; DispatcherServle 对请求 URL 进行解析,得到请求资源标识符(URL),然后根据该 URL 调用 HandlerMapping将请求映射到处理器 HandlerExcuti...
2019-04-07 13:07:49
156
原创 关于Redis知识点-----Java面试点
一、介绍Redis 1.1 Redsi本质是一个Key-Value类型的内存数据库,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。 1.2 Redis支持丰富的数据类型。支持String、list、set、sorted set、hash等事物,其操作都是原子性的。 1.3 丰富的特性。可用缓存,消息,缓存基础数据,缓存物流节点信息,缓存WebSock...
2019-04-07 11:26:28
166
原创 Redis在Windows下的安装+使用方法
1.首先把windows x64bit 版本下的Redis安装包下载下来 windows下载地址:https://github.com/MicrosoftArchive/redis/releases 2.解压到我们的工作目录下 3.打开该目录 4.在此页面–按住shift+鼠标右键—点击 在此处打开命令窗口----进入命令窗口 在命令行中输入:redis-server.exe redis.w...
2019-04-01 16:48:30
161
原创 创建JedisPool连接池----测试步骤
@Test public void testJedisPool()throws Exception{ //1.创建一个JedisPool连接池对象,参数host、port JedisPool jedisPool = new JedisPool("127.0.0.1", 6379); //2.从连接池中获取一个链接,去链接jedis对象 Jedis jedis = jedisPool.get...
2019-04-01 15:25:50
979
原创 redis.clients.jedis.exceptions.JedisDataException: NOAUTH Authentication required 解决办法
2019-04-01 15:07:50
16747
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人