- 博客(65)
- 收藏
- 关注
原创 Servlet中的Listener
一、简介(一)概述1、Listener 用于监听 java web程序中的事件,例如创建、修改、删除Session、request、context等,并触发响应的事件。2、Listener 对应观察者模式,事件发生的时候会自动触发该事件对应的Listeer。Listener 主要用于对Session、request、context 进行监控。servlet2.5 规范中共有 ...
2019-11-11 18:08:26
1279
原创 Java 日志规范
前言一个在生产环境里运行的程序如果没有日志是很让维护者提心吊胆的,有太多杂乱又无意义的日志也是令人伤神。程序出现问题时候,从日志里如果发现不了问题可能的原因是很令人受挫的。本文想讨论的是如何在Java程序里写好日志。一般来说日志分为两种:业务日志和异常日志,使用日志我们希望能达到以下目标:对程序运行情况的记录和监控; 在必要时可详细了解程序内部的运行状态; 对系统性能的影响尽量小...
2019-05-25 14:39:21
638
原创 Java中synchronized的用法
Java中synchronized的用法欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导...
2019-05-25 11:04:23
578
1
原创 Java IO
@Java IO欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将...
2019-03-31 12:23:24
124
原创 Mybatis打印替换占位符后的完整Sql
import org.apache.ibatis.cache.CacheKey;import org.apache.ibatis.executor.Executor;import org.apache.ibatis.mapping.BoundSql;import org.apache.ibatis.mapping.MappedStatement;import org.apache.ibat...
2019-01-19 11:58:02
4706
原创 Spring Boot实战读书笔记 Spring Boot的作用
重新认识Spring假设你受命用Spring开发一个简单的Hello World Web应用程序。你该做什么?我能想到一些基本的需要。一个项目结构,其中有一个包含必要依赖的Maven或者Gradle构建文件,最起码要有Spring MVC和Servlet API这些依赖。一个web.xml文件(或者一个WebApplicationInitializer实现),其中声明了Spring的Dis...
2018-10-08 18:46:03
182
原创 Java7 带资源的try语句
传统的关闭资源方式public class ResourceTryCatch { public static void main(String[] args) throws Exception { Student s = new Student("DEMO"); Student s2 = null; ObjectOutputStream ...
2018-10-07 16:24:03
514
原创 Java 匿名内部类
Java 匿名内部类注意事项注意事项在使用匿名内部类的过程中,我们需要注意如下几点:使用匿名内部类时,我们必须是继承一个类或者实现一个接口,但是两者不可兼得,同时也只能继承一个类或者实现一个接口;匿名内部类中是不能定义构造函数的;匿名内部类中不能存在任何的静态成员变量和静态方法;匿名内部类为局部内部类,所以局部内部类的所有限制同样对匿名内部类生效;匿名内部类不能是抽象的,它必须要实...
2018-09-18 19:18:46
237
原创 Java 注解详解
一、什么是注解 注解也叫元数据,例如我们常见的@Override和@Deprecated,注解是JDK1.5版本开始引入的一个特性,用于对代码进行说明,可以对包、类、接口、字段、方法参数、局部变量等进行注解 注解都默认继承接口Annotation.java一般常用的注解可以分为三类:a.一类是Java自带的标准注解,包括@Override(标明重写某个方法)、@Deprecated(标...
2018-09-16 16:01:43
197
原创 Java 泛型详解
一、概述 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢? 顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参), 然后在使用/调用时传入具体的类型(类型实参)。 泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制...
2018-09-16 15:12:56
134
原创 Java中的枚举Enum
一、什么情况下使用枚举有时候一个类的对象有限且固定时,建议使用枚举二、为什么要用枚举替代静态常量 public static final int SEASON_SPRING = 1; public static final int SEASON_SUMMER = 2; public static final int SEASON_FALL = 3; pu...
2018-09-09 17:16:23
124
原创 Servlet中的Filter
一、Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术之一,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp,Servlet, 静态图片文件或静态html文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。 Servlet API中提供了一个Filter接...
2018-08-18 15:13:53
5043
原创 Servlet的生命周期、load-on-startup、单例多线程
一、Servlet 主要有以下几个方法: package javax.servlet;import java.io.IOException;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import ja...
2018-08-18 13:31:40
657
原创 Spring实战读书笔记 bean的生命周期
1.Spring对bean进行实例化;2.Spring将值和bean的引用注入到bean对应的属性中;3.如果bean实现了BeanNameAware接口,Spring将bean的ID传递给setBeanName()方法;4.如果bean实现了BeanFactoryAware接口,Spring将调用setBeanFactory()方法,将BeanFactory容器实例传入;...
2018-08-11 15:10:23
430
原创 Spring中@Import @ImportResource @PropertySource @ConfigurationProperties 注解
@Import注解是引入带有@Configuration的java类,类似于spring配置文件里的import标签,将多个配置文件导入到一个主配置文件里@ImportResource是引入spring配置文件.xml,管理配置的bean@PropertySource注解将properties配置文件中的值存储到Spring的 Environment中,Environment接口提供方法去读...
2018-07-28 18:17:06
1267
原创 String是值传递还是引用传递
String是值传递还是引用传递今天上班时,同事发现了一个比较有意思的问题。他把一个String类型的参数传入方法,并在方法内改变了引用的值。 然后他在方法外使用这个值,发现这个String还是之前的值,并没有改变。这里要向大家介绍一下,大家都知道java在传参时分为值 传递 和 引用传递 。参数为基本类型时是值传递, 参数为封装类型时是引用传递。例如:基本类型参数 1 ...
2018-06-28 09:53:30
12950
20
原创 Spring Boot 理解
Spring Boot的作用是简化spring项目的配置,搭建一个Spring项目需要在web.xml中配置 监听器ContextLoaderListener,Spring MVC需要配置servlet DispatcherServlet,Spring Boot无需配置web.xml和 bean的配置。Spring Boot 集成第三方包如果dubbo、mybatis等,通过在pom.xml文...
2018-06-09 17:27:42
193
原创 Http协议
一、什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。二、HTTP协议的版本 HTTP协议的...
2018-05-21 16:30:04
181
原创 Web项目 Spring 启动过程
1、 spring简介spring的最基本的功能就是创建对象及管理这些对象之间的依赖关系,实现低耦合、高内聚。还提供像通用日志记录、性能统计、安全控制、异常处理等面向切面的能力,还能帮我们管理最头疼的数据库事务,本身提供了一套简单的JDBC访问实现,提供与 第三方数据访问框架集成(如Hibernate、JPA),与各种Java EE技术整合(如Java Mail、任务调度等等),提供一套自己的...
2018-05-21 16:21:38
291
原创 String类的一些注意点
1.String为什么要设计成final? 确保它们不会再子类中改变语义。String类是final类,这意味着不允许任何人定义String的子类。换言之,如果有一个String的引用,它引用的一定是一个String对象,而不可能是其他类的对象。2.什么是String的不可变性给一个已有字符串"abcd"第二次赋值成"abcedl",不是在原内存地址上修改数据,而是重新指向一个新对象,新地址。想要...
2018-05-10 19:46:57
249
原创 Linux常用命令
用户和用户组查看用户和用户组cat /etc/passwd 查看所有用户的列表cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F":" '{ print $1"|"$3"|"$4 }'|more 查看所有用户的列表简化输出w 可以查看当前活跃的用户列表cat /etc/group 查看用户...
2017-10-11 14:33:17
165
原创 Java文件操作方法
Java文件操作方法package com.hundsun.autoupgrade.ds.utils;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.ArrayList;import java.util.List;import j
2017-09-29 17:11:53
341
原创 Java实现简单插入排序
一、基本思想直接插入排序是将未排序的数据插入至已排好序序列的合适位置。 具体流程如下: 1、首先比较数组的前两个数据,并排序; 2、比较第三个元素与前两个排好序的数据,并将第三个元素放入适当的位置; 3、比较第四个元素与前三个排好序的数据,并将第四个元素放入适当的位置; ...... 4、直至把最后一个元素放入适当的位置。 假如有初始数据:25
2017-08-29 19:09:01
309
原创 Java实现冒泡排序
一、基本思想冒泡排序算法的运作如下:(从后往前)比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。二、时间复杂度
2017-08-27 17:18:43
203
原创 Java实现选择排序
1、基本思想选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。2、时间复杂度选择排序的交换操作介于 0 和 (n - 1)
2017-08-27 17:08:49
179
原创 Java实现单向链表
/** * Created by ****** on 2017/8/27. */public class MyLink { Node head = null; //头节点 /** * 链表中的节点,data表示数据,next是下个节点的引用 */ class Node { Node next = null; //节点的引用,指
2017-08-27 16:51:18
210
原创 Java实现快速排序
public void bubsort(int number[]) { int i, j, k, temp; System.out.println("---------------冒泡排序--------------"); for (i = 0; i < number.length; i++) { for (j = i +
2017-08-20 18:19:48
195
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人