- 博客(67)
- 收藏
- 关注
转载 Spring之AOP
AOP,也叫面向切面编程,也就是一种在系统运行时动态添加代码的方式。说通俗点,就是规定某些方法在执行前需要做些什么,执行完了之后做些什么。先介绍几个概念Joinpoint 连接点 类里面可以被增强的方法就是连接点 eg:想修改某个方法的功能,那么该方法就是连接点Pointcut 切入点 对Joinpoint进行拦截的定义就是切入点 eg:拦截所有的In...
2019-07-27 19:27:00 120
转载 springboot之拦截器
本篇文章就来讲讲拦截器,springboot中拦截器的注册还是比较方便的。大概下面两个步骤:1.实现HandlerInterceptor接口创建拦截器2.实现WebMvcConfigurer接口配置拦截器下面使用一个简单的例子,来大概展示一下具体使用:场景:两个页面,登录页面可以随便访问,但是首页只有xiongda用户输入正确密码才能访问第一步,创建拦截器...
2019-07-13 23:34:00 129
转载 springboot中xml配置之@ImportResource
springboot中进行相关的配置往往有java配置和xml配置两种方式。使用java的方式配置只需要使用@configuration注解即可,而使用xml的方式配置的话需要使用@ImportResource来加载配置文件不过多描述,直接以一个很简单的通过xml配置注入bean的例子来展示@ImportResource注解的使用xml配置放在resources目...
2019-07-13 18:34:00 224
转载 观察者模式
观察者模式属于一种行为型模式。观察者模式定义了一种对象间的一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。菜鸟教程中的这幅图比较直观(说白了就是,目标对象中维护着一个list存放所有的观察者对象,所有的观察者对象实现同一个observer接口来实现解耦)下面举一个常见的气象站的例子,就是不同的人(学生,工人)收到天气预报的改变后作出...
2019-06-30 14:24:00 93
转载 饿汉单例模式 and 懒汉单例模式
饿汉单例模式:主要就是利用static关键字,在类加载的时候生成实例,调用效率高 但是如果一直没有调用getInstance方法的话,就会造成资源浪费具体实现如下:class Single{ private static Single single = new Single(); priv...
2019-06-14 00:03:00 110
转载 解决hash冲突之分离链接法
解决hash冲突之分离链接法分离链接法:其做法就是将散列到同一个值的所有元素保存到一个表中。这样讲可能比较抽象,下面看一个图就会很清楚,图如下相应的实现可以用分离链接散列表来实现(其实就是一个linkedList数组)至于基本的增加、删除和查询的思路都是先根据散列函数来确定遍历哪个链表。然后再到被确定的链表中执行一次查找,然后再进行相应的操作。接下来就讲几个...
2019-02-01 18:48:00 352
转载 bat处理文件
bat处理文件(一)定义bat处理文件就是可以一次性执行多个命令的文件。(二)编写步骤只需要打开一个文本文件,将所要执行的命令写入其中,然后将文件的后缀改为.bat即可(三)bat处理文件的常用命令 pause 让当前控制台停留 echo 向控制台输出指定内容 echo off 隐藏echo off后面执行过的命令 @ 隐藏当前行执行的命令 titl...
2018-11-25 23:34:00 125
转载 使用json-org包实现POJO和json的转换
使用json-org包实现POJO和json的转换这个jar包把对象转换成json超级舒服,所以顺便记录一下吧把单个pojo对象转换成json对象 Student student = new Student("2015551404","熊大"); JSONObject object = new JSONObject(student); ...
2018-10-05 20:21:00 111
转载 并发修改异常(ConcurrentModificationException)
并发修改异常(ConcurrentModificationException)这个异常,使用集合的时候应该很常见,这个异常产生的原因是因为java中不允许直接修改集合的结构。先贴上个有趣的例子,给你们看看:package com.xiongda;import java.util.ArrayList;import java.util.Iterator;imp...
2018-08-12 11:19:00 77
转载 四种内部类
四种内部类实例内部类:直接定义在类当中的一个类,在类前面没有任何修饰符 静态内部类:在内部类前面加static 局部内部类:定义在方法内的类 匿名内部类:属于局部内部类的一种特殊情况实例内部类:属于对象的内部类,不属于类的,你使用static修饰的内部类 想要使用内部类,必须得先创建外部类 创建内部类对象当中,会有一个外部类的引用 ...
2018-08-05 15:35:00 56
转载 面向接口编程
面向接口编程这里要举一个很简单的例子来介绍面向接口编程。我这次花时间记录下这个例子,是想提醒自己平时写代码的时候不要为了完成任务而敲代码,仅仅实现功能的代码没用的。我通过这段时间的实习,总结出自己写代码的一些不足:1.接到需求之后,只是考虑采用什么技术来实现,一想到就开始敲代码,啥也不考虑了。其实要考虑的东西有很多,比如:性能,日志,通用性,可读性比如性能方面:has...
2018-08-04 22:48:00 65
转载 Springboot整合FreeMarker
Springboot整合FreeMarker遇到的问题:我现在要将内容以表格的形式以String类型放在邮件中发送出去。我刚开始的时候,表格这部分前端代表写死在Manager层,这样后期如果邮件样式变动的话,需要大改,会比较麻烦。所以,我现在就需要在工程中整合FreeMarker,生成HTML页面并且以String的形式返回。首先在pom加入maven依赖 ...
2018-07-13 10:02:00 62
转载 java反射机制
java反射机制java语言允许通过程序化的方式间接对Class的对象实例操作,Class文件由类加载器装载后,在JVM中将形成一份描述class结构的元信息对象,通过该元信息对象可以获知class的结构信息,通过该源信息对象可以获知class的结构信息,如构造函数、属性和方法等举一个反射的小例子:car类主要包含三个属性,和一个无参构造函数与一个带参构造函数publ...
2018-06-24 22:31:00 59
转载 XJad反编译工具
XJad反编译工具我们写的java文件,编译后就会生成相应的字节码文件,也就是.java文件经过编译以后生成.class文件现在,假设我们现在存在这样一个问题:就是我们想自己动手验证注释会不会被编译进字节码文件中?这时候,我们就需要利用XJad反编译工具将字节码文件进行反编译成.java文件来进行验证(编译生成的.class文件在bin目录中)编译前的java文件如下:...
2018-06-18 13:11:00 117
转载 java环境配置及原理详解
java环境配置及原理详解1.java跨平台的本质我们谈到java,总是提到跨平台这个词。那么java语言是怎么实现跨平台的呢?我们编写的java代码不是直接让windows系统读取解析,而是在windows系统中装上java虚拟机(JVM)来读取编写的java软件所以跨平台的实现原理就是在对应平台上装上相应平台能够识别的java虚拟机,用这JVM来读取解析编写的java软件...
2018-06-16 21:51:00 112
转载 Spring中的IOC示例
Spring中的IOC示例工程的大概内容是:一个人在中国时用中国话问候大家,在国外时用英语问候大家。其中,IHelloMessage是接口,用来定义输出问候信息public interface IHelloMessage { public String sayhello();}HelloWorld是接口的实现类,向用户输出 hell...
2018-06-13 23:44:00 84
转载 简单创建json格式文件
简单创建json格式文件核心就两点:addProperty 添加属性(也就是加键值对) add是添加 另外的object对象然后直接toString()输出核心代码如下;public class CreateJson { public static void main(String[] args) { JsonObject object= new...
2018-05-25 23:37:00 1233
转载 使用dom4j处理xml操作xml数据
使用dom4j处理xml操作xml数据示例代码:public class TestDom4j { public static void main(String[] args) { String xml="<lan><name>java</name><ide>eclipse</ide></la...
2018-05-19 22:16:00 63
转载 使用DOM创建xml文件
使用DOM创建xml文件创建xml的代码如下:public class CreateXML { public static void main(String[] args) { DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance(); try { ...
2018-05-18 23:58:00 89
转载 使用DOM解析xml文件
使用DOM解析xml文件要解析的xml文件如下:<?xml version="1.0" encoding="UTF-8"?><Languages cat="it"> <lan id="1"> <name>java</name> <ide>Eclipse</ide>...
2018-05-18 00:01:00 67
转载 过滤器实现权限控制
过滤器实现权限控制关键思路就是首先你要确定你要给哪些页面放行,就给这部分dofilter()例如:HttpServletRequest req=(HttpServletRequest)request; HttpServletResponse resp=(HttpServletResponse)response; String servl...
2018-05-12 16:06:00 129
转载 采用DTO和DAO对JDBC程序进行进一步优化
采用DTO和DAO对JDBC程序进行进一步优化DTO:数据传输对象,主要用于远程调用等需要远程调用对象的地方DAO:数据访问对象,主要实现封装数据库的访问,通过它可以把数据库中的表转换成DTO类引入DTO其实就是新建实体类。那么DAO呢,就是封装访问数据的方法,比如对某一个表插入,更新,删除等方法可以放进对应的dao中代码如下:这是访问User表所使用方法的接口,里面...
2018-05-08 20:38:00 142
转载 JDBC程序优化--提取配置信息放到属性文件中
JDBC程序优化--提取配置信息放到属性文件中此处仅仅优化JDBC连接部分,代码如下:public class ConnectionFactory { private static String driver; private static String dburl; private static String user; privat...
2018-05-08 09:17:00 88
转载 JDBC进行事务管理
JDBC进行事务管理事务的四个特征:原子性 : 是指事务中包含的操作都被看做是一个逻辑单元一致性: 开始前和结束后数据库都处于一致性状态隔离性: 对数据库修改的多个事务是彼此隔离的持久性 事务完成之后对系统的影响是永久的现举一个例子:有两张表,一张是user表,一张是地址表,user表和address表通过user_id关联。现在我要插入一个人的信息,需要向两...
2018-05-07 16:03:00 55
转载 JDBC增加、更新、删除数据
JDBC增加、更新、删除数据st.executeUpdate(sql) 进行插入、更新、删除操作返回的是受影响的记录的条数注意:输入的sql语句中,vachar类型记住加单引号完整代码如下:public class JDBCTest { //建立连接 public static Connection getConnection(){ ...
2018-05-06 23:59:00 89
转载 JSP9大内置对象
JSP9大内置对象JSP9个内置对象:out对象 用于输出各种数据reuest对象 封装了来自客户端的各种信息response对象 封装了服务器的响应信息exception对象 封装了程序运行过程中发生的异常和错误信息config对象 封装了应用程序的配置信息page对象 指向了当前JSP程序本身session对象 用来保存会话信息(也就是说它可以在同一用户的不同请求之间共享数据)a...
2018-05-06 13:18:00 87
转载 JSP简单实现统计网页访问次数
JSP简单实现统计网页访问次数需求:统计网页的访问次数核心思想:利用application对象,将访问次数的信息放入application对象中,每次访问就+1。这里利用了application对象每次只有当应用关闭才被销毁的特性。核心代码如下:<%Object obj =application.getAttribute("counter");if(ob...
2018-05-05 21:53:00 1331
转载 JSP简单实现登录和注销
JSP简单实现登录和注销需求:用户登录成功后跳转到欢迎页面 用户登录失败跳转到初始的登录界面 用户点击注销,用户退出登录状态需要重新登录登录页面的JSP代码:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="...
2018-05-05 21:49:00 359
转载 Calendar类
Calendar类Calendar是抽象类,GregorianCalendar是Calendar的一个具体实例Calendar是一个抽象的类,可以提取出详细的日历信息Calendar类的子类可以实现特定的日历系统,如公历、农历Calendar里面的常量:YEAR 年MONTH 月 0表示一月DATE 几号HOUR 小时(12小时制)HOUR_OF_DAY 小时(24小时制)...
2018-04-15 23:53:00 53
转载 时间复杂度为O(logN)的常用算法
时间复杂度为O(logN)的常用算法折半查找/* * 折半查找 * 默认查找的数组已经排过序 */ public static int binarySearch(int[] a,int x){ int low=0,high=a.length-1; while(low<=high){ ...
2018-04-10 10:42:00 1522
转载 有头链表
有头链表有头链表:用一个固定的假节点来充当头节点(此节点不算作链表长度,仅用于简化算法)public class Operate { public static void main(String[] args){ Node n1=new Node(101, "熊大"); Node n2=new Node(102, "熊二");...
2018-04-07 11:31:00 127
转载 插入和删除节点
插入和删除节点相对于数组,链表的特点:1.可以有无限多个节点,长度不限制2.无论插入还是删除,并不需要挪动位置建立一个节点对象,里面包含id,name,和下一个节点public class Node { public int id; public String name; public Node next; ...
2018-04-07 11:04:00 190
转载 最大子序列和问题--时间复杂度O(NlogN)
最大子序列和问题--时间复杂度O(NlogN)package a;/* * 最大子序列和问题,时间复杂度O(NlogN) */public class Sequence { private static int maxSumRec(int[] a,int left,int right ){ if(left==right) ...
2018-04-03 22:59:00 314
转载 对象与引用
对象与引用先看这个例子:int[] a={5,5,5};int[] b=a;b[1]=45;这是输出a数组的值会如下所示: 5,45,5这是因为a和b指向的是同一个对象{5,5,5},a和b都被称为是该对象的引用,也就是说a和b操作的是同一个对象空对象int[] a={5,5,5};int[] b=a;a=null...
2018-03-29 20:15:00 70
转载 聊天室小程序
聊天室小程序思路:服务器端:1.服务器端首先得实例化一个serversocket来等待客户端的连接2.用户端连接后获取套接字的输入输出流,读取客户端发送过来的数据,然后发送到每一个连接到该服务器的客户端上客户端:1.实例化socket连接上对应的服务器2.有信息发送时将数据写入,然后接受服务器端发送过来的数据3.断开连接时,关闭数据输入输出流,关闭套接...
2018-03-25 11:35:00 114
转载 tcp程序设计--客户端获取服务器输入输出流
tcp程序设计--客户端获取服务器输入输出流思路:第一步:实例化一个ServerSocket对象(服务器套接字),用来等待网络上的请求(也就是等待来连接的套接字)第二步:调用accept()方法,返回一个与客户端socket对象相连接的socket对象第三步:服务器端socket对象使用getOutputStream方法获得的输出流将指向客户端socket对象使用getI...
2018-03-24 22:18:00 572
转载 线程小例子--进度条
线程小例子--进度条功能:在窗体中显示一个进度条,该进度条自动递增import java.awt.Container;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JBu...
2018-03-20 17:21:00 58
转载 线程小例子--控制输出
线程小例子--控制输出功能:一个小窗体,两个按钮,点击开始按钮,控制台开始打印,点击停止按钮,控制台停止打印。import java.awt.Container;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;...
2018-03-20 17:06:00 73
转载 利用反射扩展数组长度
利用反射扩展数组长度思想:要扩展数组长度其实就是产生一个新的数组覆盖旧的数组import java.lang.reflect.*;public class Answer { public static void main(String[] args) { Test test = new Test(); test...
2018-03-16 23:16:00 168
转载 I/O处理小练习--保存用户账号密码
I/O处理小练习--保存用户账号密码用户输入姓名和密码,将每一个姓名和密码保存到文件中,输入done时程序结束 1 import java.io.*; 2 3 public class Example { 4 public static void main(String[] args){ 5 byte[] name=new byte[...
2018-03-13 21:53:00 165
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人