- 博客(40)
- 资源 (1)
- 收藏
- 关注
原创 二叉树的遍历(DFS,BFS)
树的遍历一. 基本遍历(1)深度优先(DFS)1.1 递归1.2 非递归(迭代)(2)广度优先(BFS)1. 栈2. 递归一. 基本遍历(1)深度优先(DFS)1.1 递归自动栈(Depth First Search, 简称 DFS) public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } }前序遍历p
2020-06-13 16:00:53 598
原创 leetcode的2数,3数,4数之和,双指针
leetcode的2数,3数,4数之和一. 2数之和二. 3数之和三. 4数之和给你一个整数数组,一个目标值,在数组中,找到两个数 || 三个数 || 四个数 之和 为 目标值 的数字下标一. 2数之和 for 循环 2层 遍历 1. 我们可以将所有的数字 放入map中,(值--下标)2. 然后遍历数组,算出对应差值,看map中是否存在 (这个数的下标不能是 当前 遍历的下标)1. 在遍历的时候,放入map中2. (一边遍历查找 ,一边放入)// 每一次 ,找的是 当前位置 之前
2020-06-02 11:20:42 201
原创 线程二(锁)
java中,一把锁可能同时占有多个标准,符合多种分类1. 偏向锁/轻量级锁/重量级锁这三种锁特指synchronized锁的状态,通过在对象头中的mark word表明锁的状态偏向锁2. 悲观锁,乐观锁悲观锁:它认为如果不锁住这个资源,别的线程就会来争抢,就会造成数据结果错误,所以悲观锁为了确保结果的正确性,会在每次获取并修改数据时,都把数据锁住,让其他线程无法访问该数据,这样...
2020-05-15 15:02:23 252 1
原创 深度剖析ThreadLocal(应用场景,内部构造,内存泄漏,与Syn异同)
1. ThreadLocal适合用在哪些实际生产的场景中?在通常的业务开发中, ThreadLocal有两种典型的使用场景。ThreadLocal用作保存每个线程独享的对象,为每个线程都创建一个副本,这样每个线程都可以修改自己所拥有的副本,而不会影响其他线程的副本,确保了线程安全ThreadLocal用作每个线程内需要独立保存信息,以便供其他方法更方便地获取该信息的场景。每个线程获取到...
2020-04-18 21:13:44 456 1
原创 Spring(三 事务)
一. 自动注入(default-autowire)在Spring配置文件中对象名和 ref=”id”id 名相同使用自动注入,可以不配置<property/>两种配置办法:2.1 在<bean>中通过 autowire=””配置,只对这个<bean>生效2.2 在<beans>中通过 default-autowire=””配置,表当当前文件...
2020-08-11 22:25:43 166
原创 MyBatis(二)log4j
一. log4j基础由 apache 推出的开源免费日志处理的类库.为什么需要日志:2.1 在项目中编写 System.out.println();输出到控制台,当项目发布到 tomcat 后,没有控制台(在命令行界面能看见.),不容易观察一些输出结果.2.2 log4j 作用,不仅能把内容输出到控制台,还能把内容输出到文件中.便于观察结果二. log4j使用在lib文件...
2020-08-11 22:20:16 151
原创 MyBatis(一)基础及查询
一.项目中命名规范层常用名作用/最常用名1.项目名:没有要求,不要中文2.包:com.liwei公司域名倒写3.数据访问层dao,persistmapper4.实体entity,model,bean,javabeanpojo5.业务逻辑bizservice6.控制器controller,action,web...
2020-08-11 22:18:54 341
原创 MyBatis(三)log4j具体使用,#{},?{},起别名,及其他
一.在mybatis.xml中配置log4j <settings>1.1 关于xml标签基本问题点击<configuration>标签,会有下面代码,?表示了顺序,里面的标签要按照规定的先后顺序<!ELEMENT configuration (properties?, settings?, typeAliases?, typeHandlers?, objec...
2020-08-11 22:17:21 303
原创 SpringMVC的拦截器
入门1. 拦截器类的配置新建包config,里面新建类MyInterceptor,实现HandlerInterceptorpublic class MyInterceptor implements HandlerInterceptor { @Override// return true; 执行性下一个拦截器,放行// return false; 不执行性下一个拦截...
2020-08-11 22:15:02 107
原创 MyBatis(五)接口绑定,多参传递,动态SQL1
ifList<Flower> selByNameIntproduction(@Param("name") String name,@Param("production") String production);<!--动态SQL --> <!--OGNL 表达式 ;直接写 key 或对象的属性.不需要添加任何特字符号--> <sele...
2020-08-11 22:12:49 223
转载 Java的三种代理模式
https://www.cnblogs.com/cenyu/p/6289209.html作者:岑宇出处:http://www.cnblogs.com/cenyu/本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如果文中有什么错误,欢迎指出。以免更多的人被误导。...
2020-06-09 14:09:29 96
原创 可视化 HTML 编辑器 ckeditor的运用
可视化 HTML 编辑器 ckeditor的运用一.下载拷贝/CDN二. 引入:三. 修改textarea 添加class="ckeditor"一.下载拷贝/CDN将ckeditor 下载,并且拷贝到web项目的直接目录下:下载地址或者直接引入CDN:<script src="//cdn.ckeditor.com/4.14.0/standard/ckeditor.js"></script>二. 引入:本地文件引入:引入js: ckeditor/ckedito
2020-06-01 02:31:15 213
原创 实现MyBeanUtils将请求数据封装到JavaBean中
一. 作用将请求中的数据,自动获取,并封装到给出的,javabean类中,返回存储着数据的对象:如下所示: //request : ?title=aaaa&summary=xxxx&content=sfsfdsfsdf // 请求的参数自动封装到实体类中 News news = new News(); String title = req.getParameter("title"); String content = req.getParameter("
2020-06-01 00:43:06 312
原创 实现一个Controller分发器工具类
Controller分发器工具类一. 设计逻辑二. 简单设计:三. BaseServlet 的 service()的设计一. 设计逻辑我们设计一个分发器,对于不同的操作,进入不同的方法,但是他们的请求的是同一个servlet,只是参数不同1. 删除操作:news?action=del2. 查询: news?action=list3. 增加: news?action=add4. 修改: news?action=toUpdate那么:对于参数 action对应的value的不同我们可以调用对
2020-06-01 00:29:25 276
原创 内存分页(二)
内存分页回顾(1) [初步分页MySQL](https://blog.csdn.net/qq_43542795/article/details/104072549)一. 内存分页(1)servlet代码(2)前端显示分页代码回顾之前的一篇文章写了数据库的分页:感兴趣的可以去看看(1) 初步分页MySQL一. 内存分页今天,来写一篇,内存分页,即查询出所有数据,然后把list集合,分页显示:所以只需要传入查询的总数据,以及第几页,就可以得到那一页的集合import java.util.Array
2020-06-01 00:27:51 113
原创 smartupload 的文件上传与下载
一. 基本:1. 文件上传smartupload组件:国内fileupload组件:apache2. 文件上传要点:页面: form表单 要求enctype="multipart/form-data"method="post" post支持大数据量传参,文件。 get地址栏<input type="file"><head> <meta charset="gbk"> <title>文件上传</title>
2020-05-29 19:34:49 310
原创 跳转路径问题,Filter,Listener,
跳转路径问题,Filter,Listener,一. 跳转路径问题(1)绝对路径(前面带`/`):(2) 相对路径:不是`/`开头,相对当前访问的目录(3)其他,过滤器的过程二. 过滤器Filter(1)基本配置实现(2)生命周期(3)责任链的先后顺序(4)初始化配置参数(5)作用三. 监听器Listener一. 跳转路径问题当我们在servlet中,跳转到其他页面,会使用重定向,或请求转发,这又分为绝对路径(前面带/),相对路径(1)绝对路径(前面带/):请求转发:request.getReque
2020-05-26 16:15:11 379 1
原创 10大排序(笔记)
10大排序0. 总览1. 冒泡(1)一直比较交换(2)在交换过程中判断是否出现 完全有序(3)在交换中判断,最后一次交换的位置,下一次的结束点2. 选择3. 插入(1)冒泡交换(2)后移插入(3)二分后移插入4. 堆排序5. 归并6. 快速7. 希尔8. 计数排序(1)非负整数(2)整数(3)对象也可以用:9. 基数排序10. 桶排序0. 总览1. 冒泡(1)一直比较交换/** * 冒泡排序-无优化 * 每一次两两进行比较,(大交换位置)最后一个是最大的 * 相邻之间进行比较 * [0
2020-05-14 23:17:25 228
原创 线程1(实现线程的1种方法)
基本实现 Runnable 接口:public class RunnableThread implements Runnable { @Override public void run() { System.out.println("用实现Runnable接口实现线程"); }}继承 Thread 类public class ExtendsThrea...
2020-05-02 18:15:53 114
原创 jsp内置对象,作用域(二)
一. 请求转发与重定向区别请求转发重定向request.getRequestDispatcher("success.jsp").forward(request,response);response.sendRedirect("success.jsp");地址栏是否改变不变改变是否保留第一次请求时的数据保留不保留,获取不到请求次数1(服务器内部...
2020-04-24 16:30:39 229
原创 String的常用方法,易错点总结(Java基础一)
一.String基本1.1 内部存储结构拿jdk1.8来说,它的内部本质是:String 内部实际存储结构为 char 数组public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** char数组存储字符 */ priva...
2020-04-14 13:19:27 310
原创 KMP算法有限状态自动机的更新影子代码理解
本文只介绍X = dp[X][pat.charAt(i)];这行代码的具体意义,关于kmp其他的可以看下面给出的链接,都是很棒的文章力扣大佬带我入门算法笔记-KMP算法《算法(第4版)》KMP理解如果你现在只有X = dp[X][pat.charAt(i)];不理解,就往下看本文里,将X叫做影子,X = dp[X][pat.charAt(i)];叫做更新影子,这是将我kmp领入门,就是上...
2020-04-13 22:13:22 299
原创 jsp的本质,元素,内置对象,客户端与服务器(一)
一.jsp本质Java Server Page(Java服务器页面),它是用于展示信息操作。一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码(用处是为了简化页面)jsp本质是servlet:Java组件,接受请求 做出影响。1.1 jsp转化为servlet过程(执行过程)jsp在访问时,先转义为.java文件,在编译为.class文件,之后被JVM加载运行...
2020-04-13 09:45:55 359
原创 xml笔记
一. Dom4j解析工具类(增删改查)package com.lang.util;import com.lang.pojo.Book;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.OutputFormat;import o...
2020-03-30 11:34:34 97
原创 项目中的 / 符号问题,相对路径,绝对路径(易出错)
一.相对路径相对路径,与绝对路径一般在链接中只要不以 / 开头都是相对路径,相对路径是从当前资源出发找到其他资源的过程,例如:reqest.getRequestDispatcher("index.jsp").forward(request,response);二.绝对路径(全路径)只要路径中以/开头叫做全路径,从项目根路径(WebContent)出发找其他资源的过程reqest.g...
2020-01-29 22:33:41 861
原创 EL与JSTL(笔记)
介绍EL:Expression Language ,可以代替JSP页面中的JAVA代码servlet(增加数据)—》jsp(显示数据)传统思维· 在JSP中代码显示数据的弊端:1. 类型转换,2. 需要处理null, 3. 代码掺杂El不需要类型转换,遇到null不会显示,原理EL实例-------是通过get方法,不是属性(内部包装过)没有对应get方法,报异常:Property ...
2020-01-23 20:03:48 236
原创 初步分页(MySQL)
一.MySQL分页基础1.1.SQL语句分页MySQL语句是:SELECT * FROM student LIMIT 0,10;是从0开始解释: LIMIT 第几个数据,要查多少条数据即从第0条开始,到第9条数据1.2.逻辑要实现分页,必须知道某一页的数据从哪里开始,到哪里结束。规定:页面大小:每页显示的数据量。(假设每页显示10条数据)从第0页开始计数第n页的数据: ...
2020-01-22 22:01:55 214
原创 实现DBUtil(一)
一.改造连接数据库这是对上一次笔记中一般连接数据库方法三层架构定义及代码(二)的改造1.1 一般数据库连接(查询,修改示例)package org.student.dao.impl;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import jav...
2020-01-21 21:44:38 488
原创 三层架构定义及代码(二)
这是对上一个三层架构定义及代码(二)后面例子的完善,之前例子只有增加功能,现在一步步完善全部功能,但是代码已经全部写完了,只能一步步整理整个过程。项目目录图示一. 目的及实现情况设计一个对学生的增删改查1.1. index.jsp1.2. add.jsp1.3. studentInfo.jsp1.4. 基本流程index.jsp 展示基础信息,点击删除按钮直接删除对应学号...
2020-01-20 20:09:36 381 3
原创 三层架构定义及代码(一)
一. 基础与MVC设计模式的目标一致:都是为了解耦合,提高代码复用区别:两者对项目理解的角度不同二. 三层定义2.0 三层名–常用名2.1 表示层(USL,User Show Layer)-- 视图层2.1.1 前台:对应于MVC中的View作用:用于和用户交互,界面的显示文件类型: jsp js html css jquery等Web前端技术代码位置:WebCont...
2020-01-19 20:53:12 2841 3
原创 MVC设计模式
一.JavaBean1.1JavaBean的作用:减轻的jsp复杂度提高代码复用(以后任何地方的 登录操作,都可以通过调用LoginDao实现)1.2JavaBean(就是一个Java类)的定义:满足一下2点 ,就可以称为JavaBeanpublic 修饰的类 ,public 无参构造所有属性(如果有) 都是private,并且提供set/get (如果boolean 则...
2020-01-18 21:36:46 174
原创 Servlet()API解读,映射路径,获取内置对象(笔记)
Servlet API :由两个软件包组成: 对应于HTTP协议的软件包、对应于除了HTTP协议以外的其他软件包即Servlet API可以适用于 任何 通信协议。我们学习的Servlet,是位于javax.servlet.http包中的类和接口,是基础HTTP协议。继承关系图:ServletConfig:接口package javax.servlet;public inte...
2020-01-17 21:38:35 332
原创 Servlet基础(笔记)
0.纯手工写的第一个Servlet类(Eclipse工具)编写一个类,继承HttpServlet重写里面的doGet(),doPost()方法编写web.xml里的Servlet映射关系Servlet类---->WelcomeServletpublic class WelcomeServlet extends HttpServlet{ @Override protected...
2020-01-17 13:48:57 269
原创 用反射加注解,实现对表单统一插入操作(简单实现)
解释:刚刚学习完了反射与注解,简单实现一个统一操作通过jdbc对数据库进行操作,就插入语句操作来说, 对于不同表,只有那条sql语句是不一样的(其余的获取驱动等等相同操作就不说了),如何能使不同对象调用同一个方法,得到对应的sql插入语句呢?1.初步实现(反射)前提:对象的类名,及属性名与数据库的表名,列名是相同的学生类public class Student { privat...
2019-12-11 16:20:42 746
原创 服务器端多线程与多并发客户端访问UDP(笔记)
1.服务器端对一个客户端的校验程序说明:客户端登录,需要输入对应的用户名,密码,输入不成功,继续输入一个服务端对应一个客户端,单一,输入正确,结束两个程序ge对用户名,与密码是用数据流进行写出,读入,这样就不会造成读入混乱例如:zhang123,你不知道从哪里分割开来,无法判断哪部分是用户名zh,ang123 ; 还是zhan,g123等等服务器端public cl...
2019-12-08 20:51:51 701
原创 手动基本实现Linkedlist集合(二)
上一篇文章讲了Linkedlist的add(),get(),toString,没有看的朋友可以去看一下:手动基本实现Linkedlist集合(一),开始后面的实现1.添加remove(int index),移除节点方法解释:就是讲一个节点从链表中删除实现:改变要删除节点的前后节点指向问题原链表格式删除进行的操作简单陈述:让它前面的next,指向它的后面;让它后面的p...
2019-12-04 20:27:38 161
原创 手动基本实现Linkedlist集合(一)
说明Linkedlist1.Linkedlist时基于链表实现的,如图所示2.源码里它用一个类Node来代替一个节点: private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E>...
2019-12-03 23:53:07 197
原创 List集合的部分方法说明(笔记)
上一篇文章整理了Collection接口的方法,连接在这里:Collzetion接口的方法因为Set 与Collection操作差不多,直接看List中不同的方法下面的图片有list中的部分方法下面是代码展示List<String> list1 = new ArrayList<String>(); list1.add("aa"); list1.add("s...
2019-12-02 21:47:50 129
原创 Collection接口的方法使用(笔记)
下面的图片是Collection接口的所有方法及解释下面是证明,为方便查看,将代码拆分开来 Collection<String> coll = new ArrayList<String>();// 集合是否为空 boolean boo = coll.isEmpty(); System.out.println(boo); // true coll.a...
2019-12-02 21:18:07 240 1
原创 手动实现Arraylist的重要方法
1.简单实现初始化,toString(),add()方法public class Arraylist01 {//标志位,标志数数组下一次增加新元素的下标 private int size;// 数组 private Object [] elementDate;// 设置初始长度10 private static final int DEFALT_CAPACITY = 10;...
2019-12-02 20:39:04 186
本项目实现一个小型论坛BBS,基本功能是让用户发表留言、并查看留言:
2020-06-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人