- 博客(116)
- 资源 (1)
- 收藏
- 关注
原创 24种设计模式之单例模式
24种设计模式之单例模式一、核心作用:保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。二、常见的应用场景:1、Windows的Task Manager(任务管理器)就是很典型的单例模式;2、windows的Recycle Bin(回收站)也是典型的单例应用.在整个系统运行过程中,回收站一直维护着仅有的一个实例。3、项目中,读取配置文件的类,一般也只有一对象。没...
2019-03-22 00:53:06 450
转载 volatile
内存可见性留意复合类操作解决num++操作的原子性问题禁止指令重排序总结内存可见性 volatile是Java提供的一种轻量级的同步机制,在并发编程中,它也扮演着比较重要的角色。同synchronized相比(synchronized通常称为重量级锁),volatile更轻量级,相比使用synchronized所带来的庞大开销,倘若能恰当的合理的使用volatile,自然是美事一桩。 为了能比...
2018-06-03 22:32:32 331
转载 java并发编程:volatile关键字解析
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了...
2018-06-03 22:31:25 369
原创 java-ssm-mybatis逆向工程
编码代码时候,pojo、mapper接口以及mapper文件,实现起来没有什么难度,但是需要很大工作量,我们借助逆向工程自动生成pojo、mapper接口以及mapper文件。使用逆向工程,需要新建一个JAVA Project,需要导入的包如下:log4j-1.2.16.jarmybatis-3.2.3.jarmybatis-generator-core-1.3.2.jarmysql-connec...
2018-02-25 21:12:07 675 2
转载 mybatis的mapper返回map结果集
通过MapKey指定map的key值@MapKey("id")Map getUserInfoMap();@MapKey("id")Map> getUserValueMap();map的value为java类resultMap id="UserResultMap" type="com.xixicat.domain.UserInfo"> result prope
2018-01-29 12:53:57 12497 3
转载 log4j的日志文件保存到项目发布目录,log4j文件每天分割按日期命名
自己设置目录,也就是在项目启动时通过System.setProperty来设置,实现ServletContextListener来解决:public class log4jlistener implements ServletContextListener { public static final String log4jdirkey = "log4jdir"; public voi
2018-01-17 20:15:06 5231
转载 Log4J日志配置详解
一、Log4j简介Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。1、LoggersLoggers组件在此系统中被分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。
2018-01-17 19:34:07 302
转载 java Listener监听器
一、监听域对象中属性的变更的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信息事件的监听器。 这三个监听器接口分别是ServletContextAttributeListener, HttpSessionAttributeListener 和Servlet
2018-01-15 17:11:49 431
转载 Java中的Filter过滤器
Filter简介Filter也称之为过滤器,它是Servlet技术中最实用的技术,Web开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。它主要用于对用户请求进行预处理,也可以对Http
2018-01-15 15:43:33 607
转载 java servlet ServletConfig和ServletContext详解
一、ServletConfig 对象及其使用1、补充:Context和ContextPath : 一个Web工程,如名为JavaWeb,访问的路径为http://localhost:8080/JavaWeb,这整个web应用就成为一个Context,路径/JavaWeb被称为上下文路径(ContextPath )。request.getContextPath ()可以获取。
2018-01-15 14:09:21 594
原创 java利用Session实现三天免登录
login.jsp<% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";%>">登录首页
2018-01-15 10:37:14 7651 9
原创 java servlet 的三大作用域
作用域:理解成共享区域。作用域的真正作用是为了有效的传递数据。存放数据:setAttribute(String,Object);获取数据:getAttribute(String );删除数据:removeAttribute(String);保证正常获取作用域中的数据必须满足下面两个条件:1.HttpServletRequest作用域:作用范围:请求转发的Serv
2018-01-15 00:04:36 1863
原创 session和cookie区别
区别:1、cookie数据存放在客户的浏览器上,session数据放在服务器上。2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 考虑到安全应当使用session。3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 考虑到减轻服务器性能方面,应当使用COOKIE。4、单个cookie保存的数据不
2018-01-14 22:48:51 234
转载 Java Session 介绍
一、为什么需要Session这是为了填补 Http 协议的局限,当用户去访问一个页面,服务端返回完了请求(如,你访问完一个网页,这个页面将页面内容,界面UI呈现给你),就算是结束了,就断开了,服务端不再去追踪客户端(浏览器)的任务状态,所以 Http 的每次请求都是独立的,非连续的,Http 也称为无状态协议。那我们如果想在一个场合,或是一个特定过程,操作些用户自己的数据,就会很麻烦,
2018-01-13 17:51:25 417
转载 Java实现对cookie的操作(增删改查)
/** * 读取所有cookie * 注意二、从客户端读取Cookie时,包括maxAge在内的其他属性都是不可读的,也不会被提交。浏览器提交Cookie时只会提交name与value属性。maxAge属性只被浏览器用来判断Cookie是否过期 * @param request * @param respons
2018-01-13 17:23:51 456
转载 关于Cookie的原理、作用,区别以及使用
1、cookie的作用:我们在浏览器中,经常涉及到数据的交换,比如你登录邮箱,登录一个页面。我们经常会在此时设置30天内记住我,或者自动登录选项。那么它们是怎么记录信息的呢,答案就是今天的主角cookie了,Cookie是由HTTP服务器设置的,保存在浏览器中,但HTTP协议是一种无状态协议,在数据交换完毕后,服务器端和客户端的链接就会关闭,每次交换数据都需要建立新的链接。就像我们去超市买
2018-01-13 17:04:22 479
原创 java请求转发和重定向异同
区别:1.请求次数不同。请求转发整个跳转请求一次。重定向整个跳转请求两次。2.地址是否变化请求转发地址栏不发生变化。重定向地址栏发生变化。3.语法不同。请求转发:req.getRequestDispatcher("请求地址").forward(req,resp);重定向:resp.s
2018-01-13 15:30:57 819
原创 java Servlet 解决中文乱码问题
请求信息:Get请求:1.在Servlet中设置请求对象字符编码;req.setCharacterEncoding("utf-8");2.在Tomcat根目录下conf文件夹下server.xmlPost请求:1.在Servlet中设置请求对象字符编码;req.setCharacterEncoding("utf-8
2018-01-13 15:20:07 1063
原创 GET和POST区别
HTTP中GET方式和POST方式:GET方式:1.直接在浏览器地址栏上输入请求地址。2.表单标签action method属性设置成get。3.a标签 href指定请求地址 4.JS中window.location.href="https://www.baidu.com"POST方式:1.表单标签a
2018-01-13 12:38:19 286
转载 HTTP协议详解
引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP协议的主要特点可概括如下:1.支
2018-01-13 12:30:12 292
转载 JAVA设计模式之单例模式
概念: java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、
2018-01-13 10:48:06 188
原创 servlet的优缺点
优点:1. Servlet是纯Java语言,擅长于处理流程和业务逻辑。接收前端数据返回响应。缺点:1. web.xml配置量太多,不利于团队开发,在写每一个servlet在web.xml都要做相应的配置;2. servlet具有容器依赖性,不利于单元测试; 3. servlet处理的请求很局限4.页面内容展示极差。
2018-01-13 10:22:07 6870
原创 java Servlet的生命周期
一、生命周期(Servlet的执行过程):1.加载web.xml中读取com.uwo9.controller.LifeServlet2.实例化(创建Servlet对象)Class.forName("com.uwo9.controller.LifeServlet").newInstance();3.初始化调用init
2018-01-13 09:53:05 329
转载 Tomcat中Connector常用配置
Tomcat中Connector常用配置 Tomcat中server.xml有些配置信息是需要我们了解的,最起码知道如何进行简单的调试. [java] view plain copy print?"8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPor
2018-01-12 11:08:55 523
转载 Tomcat7目录结构
1、bin:该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat6.exe、tomcat6w.exe,前者是在控制台下启动Tomcat,后者是弹出UGI窗口启动Tomcat;如果是解压版,那么会有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要先配置JAVA_HOME环境变量才能启动,shutdawn
2018-01-07 21:45:12 207
原创 java jdbc util封装
1.先写一个简单的jdbc查询操作,了解思路:package com.uwo9.testcrud;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/
2018-01-07 20:58:24 1771
原创 java多线程
一、线程的概念1.程序:Program,是一个指令的集合2.进程:Process,(正在执行中的程序)是一个静态的概念1).进程是程序的一次静态态执行过程, 占用特定的地址空间.2).每个进程都是独立的,由3部分组成cpu,data,code3).缺点:内存的浪费,cpu的负担3.线程:是进程中一个“单一的
2018-01-07 18:06:26 318
原创 java Timer计时器小例子
小例子:每天下午五点整提醒先写个初级版练练手:每三秒钟提示一次package com.uwo9.test06;import java.util.Date;import java.util.Timer;import java.util.TimerTask;public class Test01 { public static void main(String[] args)
2018-01-07 17:35:17 1495
原创 java socket 通讯小例子
例子1:服务端接受客户端请求我们先来写服务端代码:package com.uwo9.test02;import java.io.DataInputStream;import java.io.IOException;import java.io.InputStream;import java.net.InetAddress;import java.net.ServerSocket
2018-01-07 16:11:06 275
原创 原生js实现ajax方法(闭包)
学习Jquery是,模仿写了一个原生js实现ajax方法(闭包),代码上加有注释方法如下: (function(window, undefined) { var MyJs = new Object();//我的框架 //格式化参数 MyJs.formatParams = function(data) { var arr = []; for ( var name
2017-12-19 15:21:51 974
转载 response.setHeader()的用法
response.setHeader()下载中文文件名乱码问题 收藏 1. HTTP消息头(1)通用信息头即能用于请求消息中,也能用于响应信息中,但与被传输的实体内容没有关系的信息头,如Data,Pragma主要: Cache-Control , Connection , Data , Pragma , Trailer , Transfe
2017-12-18 15:48:12 574
转载 Content-Disposition 响应头
Content-Disposition 属性是作为对下载文件的一个标识字段,在rfc2616 http://www.rfc-editor.org/rfc/rfc2616.pdf 章节19.5 Additional Features中有介绍,具体介绍请看 http://www.rfc-editor.org/rfc/rfc1806.txt字段介绍如下:disposition :=
2017-12-18 15:16:46 643
原创 java获取局域网内所有ip信息
1.获取本机的地址package com.uwo9.test01;import java.net.InetAddress;import java.net.UnknownHostException;public class Test01 { public static void main(String[] args) { InetAddress iAddress; InetA
2017-12-17 23:46:56 3952
转载 ISO/OSI网络体系结构和TCP/IP协议模型
1. ISO/OSI的参考模型共有7层,由低层至高层分别为:物理层、数据链路层、网络层、传输层、会话层、表示层、 应用层。各层功能分别为:(1)物理层 提供建立、维护和拆除物理链路所需的机械、电气、功能和规程的特性;提供有关在传输介质上传输非结构的位流 及物理链路故障检测指示。在这一层,数据还没有被组织,仅作为原始的位流或电气电压
2017-12-17 22:54:55 11582
转载 网络编程三要素
1、什么是网络编程? 网络编程:使用编程语言实现多台计算机的通信。2、网络编程三大要素。 (1)IP地址:网络中每一台计算机的唯一标识,通过IP地址找到指定的计算机。 (2)端口:用于标识进程的逻辑地址,通过端口找到指定进程。 (3)协议:定义通信规则,符合协议则可以通信,不符合不能通信。 用生活中的例子说明:假如我要和小明说话,首先我要到
2017-12-17 22:50:54 425
原创 java使用IO对象流进行数据读写
对象的读写 使用ObjectInputStream和ObjectOutputStream读写对象(序列化与反序列化)。只有字节流没有字符流1).类必须实现Serializable接口2).给类加个序列化编号,给类定义一个标记,新的修改后的类还可以操作曾经序列化的对象3).静态是不能被序列化的,序列化只能对堆中的进行序列化 ,不能对“方法区”中的进行序列化4).不需
2017-12-17 21:56:20 5635 2
原创 java使用IO打印流输出到文件
打印流(只有输出流、没有输入流)打印流小例子package com.uwo9.test01;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.OutputStream;import java.io.PrintStrea
2017-12-17 21:45:59 2390
原创 java使用IO流完成文件的复制(文本、图片、视频)
一、使用字节流实现复制文件中的地址可以是图片或视频。1.基础版:package com.uwo9.test01;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;im
2017-12-17 16:52:13 8616 3
原创 java 使用IO字节流将一句话写入文件
package com.uwo9.test01;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.util.Scanner;
2017-12-17 16:25:27 1505
原创 java 使用IO流读取指定文件中的内容
一、使用字节流读取我们先使用字节流一个一个读取package com.uwo9.test01;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputSt
2017-12-17 16:09:07 19245
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人