Java知识分享
Java的日常学习记录。
留下自己的学习轨迹。
demeter_1233
这个作者很懒,什么都没留下…
展开
-
Java的浅克隆和深克隆
1.浅克隆被克隆的对象的所有变量都含有与原来对象相同的值,而所有对其他对象的引用仍然指向原来的对象。换而言之,浅克隆只是考虑的是被克隆的对象,而不是复制他所引用的对象。2.深克隆被克隆的对象的所有变量都含有与原来对象相同的值,而所有对其他对象的引用,将指向被复制过的新对象。换而言之,深克隆深克隆把当前被复制的对象,以及对其他对象的引用都复制了一遍。3.克隆的时候需要注意的事项如果采用普通的克隆方法,则要求所有被克隆的对象都要实现 Cloneable 接口。 如果是采用IO的方式进行克隆,.原创 2021-03-10 09:41:38 · 77 阅读 · 0 评论 -
Java的反射机制
1.Java的反射是什么?反射是一切Java开源框架设计的灵魂! 反射就是动态的加载对象,并对对象进行剖析!在运行状态下,对于任何一个类,都能够通过反射知道这个类的所有方法和属性2.Java的反射机制?动态的获取信息以及动态的调用方法的功能称为Java的反射机制。3.获取Class的三种方式?通过 对象.getClass() 的形式获取 通过 类名.class 的形式获取 通过 class.forName 的形式获取 以上三种获得Class 是同一个Class4.反射的原...原创 2021-03-09 09:41:35 · 90 阅读 · 2 评论 -
JDK动态代理介绍
1.创建需要被代理的对象的接口,并实现这个接口package com.dl.code.dao;/** * Created with IntelliJ IDEA. * 作者: 代蒙恩 * 日期: 2021/2/24 * 时间: 14:56 * 描述: JDK动态代理的练习 * 内容: 当前接口,是需要被代理对象的接口 */public interface UserDao { public void add(); public String getUser(Stri原创 2021-02-24 15:37:53 · 76 阅读 · 0 评论 -
Java完成--希尔排序的两种方法实现
package com.dl;import java.util.Arrays;/** * 希尔排序 * * 第一种方法:交换法 * 第二种方法:移动法 * @author 87421 * */public class SellSort { public static void main(String[] args) { // TODO Auto-generated method stub //1.定义一个无序的数组 int[] array = {8,9,1,.原创 2021-02-16 13:40:21 · 142 阅读 · 0 评论 -
插入排序算法介绍
图解部分:代码部分:package com.dl;import java.util.Arrays;public class InsertSortTest { public static void main(String[] args) { int[] array = {1,3,2,8,4,5}; insertSort(array); } /** * 插入排序 * 思想:将数组的第一个元素看成有序的一个表,后面的元素堪称一个无序的。 * 然后,原创 2021-01-16 11:02:43 · 90 阅读 · 0 评论 -
String StringBuffer StringBuilder的介绍
String 字符串常量 在进行字符串拼接的时候,每次拼接之后都会生成一个新的对象。 StringBuffer 字符串变量 线程安全,在进行字符串拼接的时候,直接使用append()方法在原有的基础上添加。因为其线程安全,所以相比较StringBuilder效率较低。 StringBuilder 字符串变量 线程不安全,在进行字符...原创 2021-01-16 09:30:35 · 52 阅读 · 0 评论 -
HttpRequestServlet的方法介绍
package com.dl.code;import javax.jws.soap.SOAPBinding;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.Http.原创 2021-01-15 08:26:51 · 418 阅读 · 2 评论 -
基于jsp的原生分页查询。
servlet代码 package com.dl.controller;import com.dl.entity.Student;import com.dl.service.StudentService;import com.dl.service.impl.StudentServiceImpl;import com.dl.utils.PageUtil;import javax.servlet.ServletException;import javax.servlet.annotat.原创 2021-01-12 17:56:33 · 202 阅读 · 0 评论 -
EL表达式的运算符
操作符 描述 . 访问一个Bean属性或者一个映射条目 [] 访问一个数组或者链表的元素 + 加 - 减或负 * 乘 / or div 除 % or mod 取模 == or eq 测试是否相等 != or ne 测试是否不等 < or lt 测试是否小于 > or gt 测试是否大于 <= or le 测试是否小于等于 && or and原创 2021-01-12 09:38:18 · 208 阅读 · 0 评论 -
Java jsp 详细说明 --- EL表达式
EL表达式的概念及作用 作用:是jsp写起来更简单,更简洁。主要用于获取作用域中的数据。 EL表达式的应用 name 只是一个变量 1.${xxxxScope.name} :获取具体某个作用域中的属性的值 2.${name} :获取作用域中的数据,因为没有指定作用域,则会自动进行逐级查找 顺序为:pageContext request session application 3.EL表达式和jsp脚本的区别:<%=request.getAttr...原创 2021-01-11 20:19:25 · 121 阅读 · 0 评论 -
Java JSP 详细说明 --- 内置对象及语法格式
jsp 和 servlet 的关系 1.jsp是对servlet的一种高级封装,jsp的本质还是servlet 2.jsp文件在容器中会被转成servlet,然后在执行 3.与servlet相比,jsp可以很方便的修改HTML网页,而不用去面对大量的printfln语句。 jsp的实现原理 1.Tomcat将会把xxx.jsp 转换为xxx.java 代码,然后编译成 xxx.class 然后运行,最后把运行的结果通过response响应发送给客户端 jsp和HTML的集成开发 1..原创 2021-01-11 19:38:12 · 669 阅读 · 0 评论 -
session和cookie完成自动登录
1.模拟登录目录图片 indexServlet代码 package com.dl.code;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequ..原创 2021-01-09 14:29:23 · 284 阅读 · 1 评论 -
会话控制 -- session
Session : 将内容保存在服务器中为什么使用session: 1.cookie保存的数据类型单一,只能保存字符串类型的数据 2.cookie不能保存中文 3.cookie的大小存在限制 4.cooke在浏览器中存的数据是有限制的,最多只能存储300个左右使用session则可以解决以上的问题。为什么session会搭配cookie使用: ...原创 2021-01-09 10:08:38 · 149 阅读 · 2 评论 -
会话控制技术 -- Cookie
cookie特点: 1.浏览器保存的内容,通常cookie实在浏览器中保存。每一次访问服务器的时候,浏览器会自动把cookie带到下一个页面。 2.cookie不能保存中文,信息的保存方式是以键值对的形式保存的cookie大小:cookie的大小有限制,通常情况下4096byte,因为技术的更新可以存8192bytecookie的创建:Cookie cookie = new Cookie(Key key,Value value);...原创 2021-01-09 09:27:23 · 69 阅读 · 0 评论 -
ServletContext对象
ServletContext对象是servlet的上下文对象,是当前整个web应用程序的唯一对象,是整个项目的共享区间。在整个web项目,任意的servlet和jsp页面都是可以使用这个对象的。解释:一个servlet下面有一个当前上下文对象(ServletContext)设置了数据,然后在另一个Servlet中可以通过通过ServletContext对象来获取上一个servlet存储的数据,进而实现两个servlet数据的共享。用途:可以用于解决多个资源间的数据共享的问题。获取ServletC原创 2021-01-08 13:06:39 · 83 阅读 · 0 评论 -
重定向和转发
重定向 resonse.sendRedirect("xxx.html")特征: 1.重定向的过程是浏览器的行为 2.实际上浏览做了两次请求 3.上一次请求的request对象会丢失 4.重定向有一个明显的特征,浏览器的url会发生改变 5.重定向可以是任何网络资源 转发 request.getRequestDispatcher(" ").forward(request,response)特征: 1.转发是服务器行为 2.浏览器在整个过程中只发送一次请求 3.转发会带有reques.原创 2021-01-08 12:58:57 · 54 阅读 · 0 评论 -
Javaweb中文乱码解决
请求时候的乱码: request.setCharacterEncoding("utf-8"); 响应的时候的乱码 response.setContentType("text/html;charset=utf-8") response.setHead("content-type","text/html;charset=utf-8");原创 2021-01-08 12:48:31 · 134 阅读 · 0 评论 -
File对象的方法
createNewFile() 创建一个文件 mkdir() 创建一个文件夹 mkdirs() 创建路径中不存在的所有文件夹 renameTo(File file) 可以用来重命名文件,也可以用来移动文件 exists() 判断文件是否存在 isFile() 判断是否是普通文件 isDirectory() 判断是否是文件夹 isHidden() 判断是否使隐藏文件 getName() 获得文件夹或文件的名字 getParent() 获得当前文件或文件夹的上级目录路径原创 2021-01-06 20:29:36 · 333 阅读 · 0 评论 -
基于xml配置Servlet
1.Java代码部分public class TestXmlServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.doPost(req, resp); } @Override protec原创 2021-01-06 17:40:19 · 357 阅读 · 0 评论 -
Servlet的三种创建方式
<!--第一种创建方法 通过Servlet接口创建-->public Class testServlet implements Servlet{ <!--需要实现四个方法--> public void init(ServletConfig servletConfig){ } public ServletConfig getServletConfig(){ } public void service(ServletRequest request,Se.原创 2021-01-06 17:18:35 · 286 阅读 · 0 评论 -
String方法介绍
按照string = "helloWorld"举例string.length() 返回字符串的长度:10 string.charAt(int index) 获取指定下标位置的元素,string.charAt(1) 的返回值:e string.indexOf(char c) 返回指定字符的第一次出现的下标位置。 string.indexOf(char c,int fromIndex) 从指定下标fromIndex 开始查找指定的字符,并返回第一次出现的位置。 lastIndexOf(ch原创 2021-01-06 08:22:44 · 191 阅读 · 0 评论 -
Map集合方法汇总
put(key,value) : 将键值对添加到集合中,如果key已经存在,则替换value。 putAll(Map map) : 添加另一个集合到当前集合中 remobe(Object key) : 删除指定键对应的键值对 int size() : 返回当前集合的有效元素个数 Object getKey(Key key) : 返回当前的键所对应的value boolearn isEmpty() : 判断当前的集合是否为空 boolearn containsKey(Key key) : 判断当前原创 2021-01-05 13:09:54 · 173 阅读 · 1 评论 -
List集合的方法介绍
List集合常见的方法总结add(T t) 将指定的类型元素添加到集合的末尾。 add(int index,T t) 将指定的类型元素添加到集合的指定下标位置 addAll(Collection<? extends T> collection) 将另一个集合添加到当前集合的末尾。collection为当前集合类型或其子类。 addAll(int index,Collection<? extends T> collection) 在指定的下标位置index处,添加另一原创 2021-01-04 20:29:16 · 828 阅读 · 0 评论 -
Java--冒泡排序及优化
冒泡排序以及优化问题package com.dl;import java.util.Arrays;public class BubbleSortTest { public static void main(String[] args) { // TODO Auto-generated method stub int[] array = {9,8,7,5,6,2,3,4,1,0}; //普通冒泡排序算法 bubbleSortOr...原创 2021-01-04 19:13:36 · 54 阅读 · 0 评论 -
Java八皇后问题
目的:计算出八皇后的所有摆法!package com.dl;public class QueenTest { //定义一个max表示有多少个皇后 int max = 8; /*1.这里采用一位数组来保存皇后的位置 * 解释: *例如数组array = {1,2,3,4,5,6,7,8}。 *array[0] = 1; ===> 第一个皇后,在第一行第一列的位置有一个皇后 *array[i] = value ====>皇后的坐...原创 2021-01-04 19:11:30 · 151 阅读 · 1 评论 -
Java解析xml文件 -- 基于Dom4j
Java解析xml文件 -- 基于Dom4j1.xml配置文件内容:<?xml version="1.0" encoding="utf-8" ?><students> <student id="001"> <name>张三</name> <age>78</age> <gender>0</gender> </student原创 2021-01-04 18:47:43 · 87 阅读 · 0 评论