- 博客(24)
- 资源 (3)
- 收藏
- 关注
原创 【Java基础】String.format()格式化日期
在以前的开发中,日期格式化一直使用的是SimpleDateFormat进行格式化。今天发现String.format也可以格式化。当 然,两种方式的优劣没有进行深入分析。1. 日期格式化 (2018/5/13 周日 中文环境下测试) 转换符 说明 结果 %tb 指定语言环境下的月份简称 五月 %tB 指定语言环境下的月份全称 五月 ...
2018-05-13 15:53:21
26838
原创 【java基础】内部类四种分析。
java中把一个类定义到另外一个类的内部,称为内部类。 内部类常见分为四种:静态内部类、成员内部类、局部内部类、匿名内部类。 代码展示:public class OuterClass { //静态内部类 static class InnerClass1{} //成员内部类 class InnerClass2{} public void func(){
2017-07-25 19:53:27
282
原创 【设计模式】常见设计模式
最近依然在应对面试,有人问到设计模式的题目,之前自己看过,但是都忘记了,现在整理一下。1.单例模式 有时,允许自由创建某个类的实例没有意义,反而可能会导致系统性能下降。例如:数据库引擎访问点、Hibernate的SessionFactory都只需要一个实例即可,此时可以使用单例模式。 如果一个类始终只能创建一个实例,则称这个类为单例类,这种模式为单例模式。 Spring中框架中
2017-07-22 14:36:29
492
原创 【Java虚拟机】Java内存区域
8.3 资源访问类Resource接口主要方法: - getInputStream():定位并打开资源,返回资源对应的输入流。 - exists():返回指定的资源是否存在。 - isOpen():返回资源是否打开。资源不能多次读取 - getDescription():通常返回全限定文件名或者实际URL - getFile:返回资源对应的File对象 - getURL:返回资源对应的U
2017-07-20 00:46:21
259
原创 【Spring笔记】(四) 8.2 Spring的零配置支持
8.2 Spring的”零配置”支持8.2.1搜索Bean类@Component:标注一个普通的Spring Bean类 (@Component(“abc”):指定bean类实例的名称为abc)@Controler:标注一个控制器组件类@Service:标注一个业务逻辑组件类@Repository:标注一个DAO组件类//需要在配置文件中指定Spring搜索路径<beans>
2017-07-17 16:23:44
298
原创 【Spring笔记】(三) 后处理器
1.两种后处理器Bean后处理器:对容器中的Bean进行后处理,对Bean进行额外加强。容器后处理器:对IoC容器进行后处理,增强容器。1.1 Bean后处理器需要实现BeanPostProcessor接口,两个方法,分别在Bean初始化之前、后调用Object postProcessBeforeInitialization(Object bean,String name)throws Be
2017-07-17 16:23:26
229
原创 【Spring笔记】(二)集合注入、注入的方法
Spring中ApplicationContext和beanfactory区别1.依赖注入设值注入//Person.javapublic class Person{ private Address address; //set方法 ...}//Address.javapublic class Address{ ...}//配置文件<bean id="ad
2017-07-17 16:23:03
400
原创 【Redis笔记】11.连接
验证密码是d否正确Auth password打印字符串Echo message查看服务有没有在运行ping关闭当前链接quit切换到指定数据库select index
2017-07-17 16:12:13
182
原创 【Redis笔记】10.事务
它先以 MULTI 开始一个事务, 然后将多个命令入队到事务中, 最后由 EXEC 命令触发事务, 一并执行事务中的所有命令:开始事务Multi执行事务内命令Exec取消事务Discard监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。Watch key [key...]取消监视UnWatch
2017-07-17 16:11:59
166
原创 【Redis笔记】9.发布订阅
Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 Redis 客户端可以订阅任意数量的频道。订阅一个或多个符合给定模式的频道。PSubScribe pattem [pattem]查看订阅与发布系统状态。PubSub subcommand [argument [argument]]//例子PubSub channels//会显
2017-07-17 16:11:44
219
原创 【Redis笔记】7.Sorted set(Z)
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。 有序集合的成员是唯一的,但分数(score)却可以重复。 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。增ZAdd key score1 member1 [score2 mem
2017-07-17 16:11:17
312
原创 【Redis笔记】6.Set(S)
Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。 Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。增SAdd key value1 [value2]//添加删SPop key//移除并返回集合的一个随机元素SRandMember key [count]//随机返回一个或count个值SRem ke
2017-07-17 16:10:15
389
原创 【Redis笔记】5.List(L)
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)入列LPush key value1 [value2]//插入多个值到list的头Rpush key value1 [value2]//插入到尾巴?Rpushx key value //已经存在的可以添加值LPushX key value//一个或多个元素 查到已经存在的头部出
2017-07-17 16:09:45
190
原创 【Java多线程】(二)多线程同步
接上文。一:多线程同步当使用多线程访问一个资源的时候,容易出现线程安全的问题。比如A、B两个线程模拟两个用户银行转账业务。刚开始两人各有1000元。首先A、查询自己余额为1000,然后提现100,并把余额修改为900。假如提现是一个非常耗时的操作,在完成这个操作之前,B给A转了账100。转完账以后将A的余额修改为1100。此时A提现完成,并将余额修改为900。可见这个结果时不合理的
2017-07-17 14:41:53
243
原创 【Redis笔记】4.Hash(H)
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。增HMSET key field1 value1 [field2 value2 ] //同时将多个 field-value (域-值)对设置到哈希表 key 中。HSet key field value//设置某个key中的某个field的值HsetNX key field value
2017-07-15 20:16:20
409
原创 【Redis笔记】3.String(无)
1.String//设置指定key的值set key value//获取指定key的值get key//获取子字符串getRange key start end//给key设值,并返回旧值GetSet key value//获取到某一位的二进制值getBit key offset// 例如'a',二进制为01100001(98),则getBit keyName 1 的值为1,getBi
2017-07-15 20:15:29
325
原创 【Redis笔记】2.Redis命令
1.Redis命令启动客户端redis-cli或redis-cli -h 127.0.0.1 -p 6379 -a "mypass"//mypass:链接redis的密码2.Redis键(key)
2017-07-15 20:11:37
327
原创 【Redis笔记】1.简介、安装启动(Ubuntu)
1.简介Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。2.安装-启动2.1 安装$sudo apt-get update$sudo apt-get install redis-server2.2 启动服务$ redis-server2.3 测试是否启动成功$ redis-cli如果已经启动了,则会
2017-07-15 20:08:03
390
原创 【Java多线程】(一)多线程实现
最近要忙着招工作了,发现现在招Java开发的公司特别喜欢问多线程的问题,因此就在这自己小总结一下啦~一:进程线程的区别:这个问题大家基本都会问。首先,进程、线程定义什么的就不多说了,这个东西百度就可以了,而且也是最基本的东西。稍微说一下区别吧。麻老师曾经这么总结过区别:线程是CPU任务调度的最小单位,进程是操作系统分配资源的最小单位。很精辟,但是也很懵。结合自己看过的资料,大约懂了一点:一
2017-07-15 10:13:19
227
转载 【JSON学习】--简介
最近学习阿里巴巴的fastJson,突然发现自己对JSON的一些基础知识不是特别清楚,索性就好好学习一下JSON了。(一)简介:JSON(JavaScript Object Notation),js对象标记。前端解析之前可能使用xml作为数据交换格式,现在使用json,因为json更加简单,更小,便捷。因为我对前端不是很了解,可能自己理解的不是很恰当。(二)JSON格式:简单
2017-06-17 14:25:36
273
转载 【安卓学习】4.碎片(Fragment)实践---一个简单的新闻应用。
今天看了有关碎片(Fragment)的一些知识,最后面有一个实践应用,我就做了这个项目,并做了一点小结。很多时候我们希望我们的app能够在手机/Pad上通用,但是Pad屏幕面积比较大,手机上可以一个屏幕都在展示一个项目,但是如果平板也这样,可能就比较浪费,为了应对这个问题,安卓有一个特别好用的东西,叫碎片Fragment。具体的可以看前面的博客。1.修改build.gradle,添加依赖的
2017-06-09 19:22:13
2233
2
转载 【安卓学习】2.Intent的学习
安卓app,一般会有多个页面,即多个活动,在各个活动之间穿梭,怎么实现呢?这里就用到了Intent1.显示的使用intent首先我们创建一个项目,然后添加一个简单的activity,里面添加一个Button,并设置静听事件。这个比较简单,如果不会做,可以参考我安卓学习的第一篇博客。在监听事件中添加如下代码使用Intent: button1.setOnClickList
2017-06-09 01:20:09
371
原创 WebGoat实验-XSS(跨站脚本攻击)
信安实验,安排在WebGoat上面的XSS实验。简单记录一下实验过程。Stage 1: Stored XSS(存储XSS攻击)实验内容:主要是用户“Tom”(攻击者)在自己的个人资料中添加了恶意代码(比如最简单的alert('121212');),然后保存。在被攻击者“Jerry”查看Tom的资料的时候,会执行Tom写的恶意代码。步骤:首先Tom登录,在自己资料(ViewProfi
2017-05-18 20:38:50
3914
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人