![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java学习
文章平均质量分 85
谭倩倩
这个作者很懒,什么都没留下…
展开
-
ActionContext和ServletActionContext总结
在敲的网上商城的时候经常看到ServletActionContext来获取session的值,所以就查了一把:原创 2016-05-28 17:58:27 · 1257 阅读 · 40 评论 -
java 重定向和转发的区别
response.sendredirect("http://www.foo.com/path/error.html");重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,浏览器中所显示的URL会变成新原创 2017-02-14 10:36:01 · 789 阅读 · 15 评论 -
request.getParameter() 和request.getAttribute() 区别
getParameter 是用来接受用post个get方法传递过来的参数的.getAttribute 必须先setAttribute.(1)request.getParameter() 取得是通过容器的实现来取得通过类似post,get等方式传入的数据,request.setAttribute()和getAttribute()只是在web容器内部流转,仅仅是请求处理阶段。(2)转载 2017-03-11 09:58:03 · 908 阅读 · 10 评论 -
日志级别的选择:Debug、Info、Warn、Error还是Fatal
软件中总免不了要使用诸如 Log4net, Log4j, Tracer 等东东来写日志,不管用什么,这些东东大多是大同小异的,一般都提供了这样5个日志级别: × Debug × Info × Warn × Error × Fatal 一个等级比一个高,但是在具体开发中,关于应该如何选择适应的等级,却没有找到好的文章进行说明。记录一原创 2017-04-10 15:47:17 · 1911 阅读 · 9 评论 -
public class 实体类名 implements java.io.Serializable{...}
Java.io.Serializable 这个被继承不会有什么方法,但是有一下好处。你创建的对象可以被JVM(java虚拟机)序列化,序列化就是有一个自己独特的标识,这样可以用于反序列化。就是下面这句话:private static final long serialVersionUID = 5866268712137826050L;详细参考:原创 2017-03-31 20:47:36 · 2899 阅读 · 8 评论 -
Java正则表达式判断是否为手机号码
在开发中有时会有这样的需求,就是判断用户输入的手机号码是否正确,这里就需要使用到了正则表达式。这里贴出一个电话号码检查的工具类,基本的电话号码格式都能够满足了。[java] view plain copyimport java.util.regex.Matcher; import java.util.regex.原创 2017-04-01 09:24:12 · 11001 阅读 · 9 评论 -
java创建删除文件
package com.file;import java.io.File;import java.io.IOException;//创建新文件和目录public class CCRDFile { // 验证字符串是否为正确路径名的正则表达式 private static String matches = "[A-Za-z]:\\\\[^:?\"><*]*"; // 通过 sPat原创 2017-04-02 10:54:10 · 769 阅读 · 9 评论 -
XMLHTTP中setRequestHeader参数问题
setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=gb2312") 语法oXMLHttpRequest.setRequestHeader(bstrHeader, bstrValue);参数bstrHeader 字符串,头名称。bstrValue 字原创 2017-04-12 17:19:23 · 3178 阅读 · 8 评论 -
Java SSLSocket的使用
1. 什么是SSLSocketJDK文档指出,SSLSocket扩展Socket并提供使用SSL或TLS协议的安全套接字。这种套接字是正常的流套接字,但是它们在基础网络传输协议(如TCP)上添加了安全保护层。具体安全方面的讨论见下一篇。本篇重点关注SSLSocket及相关几个类的使用。 2. SSLSocket和相关类SSLSocket来自jsse(Ja原创 2017-04-24 18:09:10 · 616 阅读 · 13 评论 -
五分钟理解Java的反射API
反射APIJava是一种具有反射功能的语言。允许开发人员在运行时检查类型、方法、字段、注解等,并在程序运行时决定是否使用。 为此,Java的反射API提供类,类,字段,构造函数,方法,注释和其他。 使用它们可以与编译时未知的类型进行交互,例如创建未知类的实例并对它们调用方法。这个快速提示旨在让您深度了解什么是反射,它在Java中的使用,以及它可以用于什么。 之后,你将准备好开始转载 2017-05-17 00:01:38 · 761 阅读 · 6 评论 -
HttpClient使用详解
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会转载 2017-04-26 11:53:05 · 437 阅读 · 8 评论 -
浅谈httpClient使用总结
浅谈httpClient使用总结 目前C/S还是B/S结构的应用程序, HTTP 应该是最为广泛使用的协议了。在 Java 平台上,Java 标准库提供了 一个HttpURLConnection 类来支持 HTTP 通讯。不过 HttpURLConnection 本身的 API 不够友好,所提供的功能也有限。httpClien是一个实现http协议很多操作功能的组件,并且它支原创 2017-04-26 12:07:07 · 4857 阅读 · 14 评论 -
代理模式--原理及实现
简介Java编程的目标是实现现实不能完成的,优化现实能够完成的,是一种虚拟技术。生活中的方方面面都可以虚拟到代码中。代理模式所讲的就是现实生活中的这么一个概念:中介。代理模式的定义:给某一个对象提供一个代理,并由代理对象控制对原对象的引用。代理模式包含如下角色:ISubject:抽象主题角色,是一个接口。该接口是对象和它的代理共用的接口。RealSubjec原创 2017-07-12 09:24:01 · 2007 阅读 · 15 评论 -
java-collections总结
类Collections是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。java.lang.Object java.util.CollectionsCollections中常用的方法:(1)sort()排序方法 函数定义:publi原创 2017-08-09 17:20:41 · 520 阅读 · 3 评论 -
【宏观】缓存的应用场景
本文主要跟大家来探讨下缓存的应用场景有哪些?缓存给我们带来了哪些便利?同时又给我们带来了哪些问题?还有,简单介绍一些常用的缓存工具。JUST DO IT! Go!缓存的应用场景CPU缓存是位于CPU与内存之间的临时存储器,它的容量比内存小的多但是交换速度却比内存要快得多。(选用存储介质,提高访问速度:高速缓存>内存;减少重复量)浏览器缓存浏览器可以缓存一原创 2017-01-22 20:46:20 · 3998 阅读 · 12 评论 -
集合各自特性
一、总结---|Collection: 单列集合---|List: 有存储顺序, 可重复---|ArrayList: 数组实现, 查找快,增删慢 由于是数组实现,在增和删的时候会牵扯到数组增容, 以及拷贝元素. 所以慢。数组是可以直接按索引查找,所以查找时较快---|LinkedList: 链表实现, 增删快,原创 2017-02-28 10:55:00 · 1392 阅读 · 12 评论 -
Spring cache+ redis与redis 的比较
1. 缓存级别不同 Spring cache是代码级的缓存,他一般是使用一个ConcurrentMap。也就是说实际上还是是使用JVM的内存来缓存对象的, 那么肯定会造成大量的内存消耗。但是使用方便。 Redis 作为一个缓存服务器,是内存级的缓存。它是使用单纯的内存来进行缓存。2. sprirng cache的好处 那么Sp原创 2017-01-20 20:00:08 · 8749 阅读 · 67 评论 -
对list进行排序
这是我找的方法,但是谁知道,有没有简单的方法对list进行排序?原创 2016-06-30 17:57:11 · 1285 阅读 · 14 评论 -
java 里面eaquls和==区别
java 里面eaquls和==区别原创 2016-06-30 18:05:19 · 2296 阅读 · 18 评论 -
常用Redis命令总结
Redis命令总结连接操作相关的命令quit:关闭连接(connection)auth:简单密码认证持久化save:将数据同步保存到磁盘bgsave:将数据异步保存到磁盘lastsave:返回上次成功将数据保存到磁盘的Unix时戳shundown:将数据同步保存到磁盘,然后关闭服务远程服务控制info:提供服务器的信息和统计monitor:实时转转载 2016-07-24 21:20:34 · 791 阅读 · 24 评论 -
【总结】为什么ITOO学生端Redis采用list结构
这是我为什么用list结构的原因,因为ltrim命令具有O(N)的时间复杂度。 因为现在的底层只有get,set这种散列数据结构,把一个list以一个关键字的形式存储,每次想查找里面的数据都得把数据导出来然后筛选完了重新放进去,这样子的效率总是觉得很低。原创 2016-07-31 22:06:16 · 934 阅读 · 19 评论 -
jedis使用api(1)
Jedis 是 Redis 官方首选的 Java 客户端开发包。工作过程总结的一个示例,贴出来,如下:package com.wujintao.redis; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; i原创 2016-09-09 19:58:15 · 1581 阅读 · 11 评论 -
jedis使用api(2)
/** * 获取连接池. * @return 连接池实例 */ private static JedisPool getPool(String ip,int port) { JedisPoolConfig config = new JedisPoolConfig(); config.setMaxActive(RedisConfig.getMaxactive(原创 2016-09-09 20:01:31 · 1013 阅读 · 9 评论 -
itoo在线编辑学习——nignx
1. 我为什么要用nginx? 其实我负责的模块里面已经实现了mongodb显示图片的方法了,但是代码的逻辑让我郁闷到了:大体是把图片放到下载到本地然后进行访问。我看了看jboss里面的有个叫“image”的文件夹,深深的郁闷到了,因为我负责的不仅是教师端的在线编辑,还有学生端的考卷,这样子岂不是要在服务器里面下载几千张图片访问么? 为什么不能直接通过URL访问呢原创 2016-08-20 20:21:01 · 592 阅读 · 23 评论 -
Timer和TimerTask详解
如果要执行一些简单的定时器任务,无须做复杂的控制,也无须保存状态,那么可以考虑使用JDK 入门级的定期器Timer来执行重复任务。原创 2016-09-06 15:47:57 · 1556 阅读 · 14 评论 -
利用multimap给数据高效分类(1)
相信大家对Java中的Map类及其之类有大致的了解,Map类是以键值对的形式来存储元素(Key->Value),但是熟悉Map的人都知道,Map中存储的Key是唯一的。什么意思呢?就是假如我们有两个key相同,但value不同的元素需要插入到map中去,那么先前的key对应的value将会被后来的值替换掉。原创 2016-09-19 19:52:53 · 2032 阅读 · 20 评论 -
多线程学习-ListenableFuture使用介绍以及示例
ListenableFuture顾名思义就是可以监听的Future,它是对java原生Future的扩展增强。我们知道Future表示一个异步计算任务,当任务完成时可以得到计算结果。如果我们希望一旦计算完成就拿到结果展示给用户或者做另外的计算,就必须使用另一个线程不断的查询计算状态。这样做,代码复杂,而且效率低下。使用ListenableFuture Guava帮我们检测Future是否完成了,如原创 2016-09-28 16:15:41 · 1768 阅读 · 40 评论 -
事件监听机制
Java中的事件监听是整个Java消息传递的基础和关键。牵涉到三类对象:事件源(Event Source)、事件(Event)、事件监听器(Event Listener)。 ● 事件源是事件发生的场所,通常就是各个组件,它可以是一个按钮,编辑框等。 ● 事件监听者负责监听事件源所发生的事件,并对各种事件做出相应的响应。 ● 事件是描述事件源状态改变的对象。 具体实现原创 2016-10-18 19:00:44 · 858 阅读 · 21 评论 -
从java 反射看延迟加载(代理模式)(三)深入理解java反射
深入理解java---反射篇点击打开链接 背景 在Java中如果我们预先不知道一个对象的确切类型,RTTI可以告诉你,但是有一个限制,那就是在编译的时候这个对象类型必须是确定的(需要有一个确定的编译类型),这样我们才能使用RTTI去识别它,并且利用这些信息做一些有用的事,事实上在编译的时候你的程序压根儿是不知道某个对象是属于哪一个类的,比如在编译的时候,你可以从你的本机原创 2016-10-30 20:01:15 · 1529 阅读 · 22 评论 -
从java 反射看延迟加载(代理模式)(六)——动态代理与静态代理
一、先看看代理模式的uml图图讲的很清楚了,我的例子的subject是moveable类里面有move方法,realsubject是tank,proxysubject是timeTankProxy而已。二、我个人认为:静态代理就像是下图那样,你要取名字,建好类名,比如timeTankProxy。 静态代理的代码怎么实现的呢?pa原创 2016-11-28 15:59:22 · 1949 阅读 · 31 评论 -
java泛型
对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。本文参考java 泛型详解、Java中的泛型方法、 java泛型详解1. 概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方转载 2018-02-07 20:03:49 · 357 阅读 · 2 评论