自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 可信代码(1)

1、账号登录防破解机制(1)锁定ip(2)锁定账号(3)验证码(原有表单要要设置失效)(4)重试间隔递增(5)错误提醒不能透露信息(账号和密码不匹配即可)2、保护敏感信息(1)密码加密传输(2)DO中密码重写toString(3)不允许shell中明文密码传参(4)日志中不允许输出明文或者密文密码(5)秘钥和密文不在同一个文件中3、注入攻击(1)SQL注入(2)XSS注入(3)命令行注入(4)防护措施:参数白名单、转义、预编译(针对sql注入)

2020-06-05 19:31:50 580

原创 Linux基础知识

1、grep(1)配合ls,cat等使用,在返回值中执行关键词抓取(2)直接grep -rn key在当前目录下递归查找所有文件中的关键词(3)grep -rl filename查找文件在进程中使用的情况2、awk(1)awk用于分词3、cat,more,tail,vi的使用(1)cat 可以跟cat -n显示行号(2)more从头查看,ctrl + b 向前翻页,Ctrl + f 向后翻页(3)tail 从尾查看,tail -f 持续查看(4)vi编辑文本,q!不保

2020-06-05 19:15:22 183

原创 快速排序

快速排序算法:   快速排序算法使用递归的方法实现,首先选择一个pivot通常选择数组的第一个元素,然后arr从后往前遍历,寻找到第一个小于pivot的值arr[j],然后swap arr[j]跟pivot的位置,然后开始从前往后进行遍历,寻找到第一个大于pivot的值,然后swap arr[i]与pivot的位置,这样遍历直到i==j。这样pivot所在位置左侧的值都将小于pivot,右侧的值都...

2018-03-15 18:23:44 189

原创 ListIterator与Iterator的区别

两者在对list进行遍历过程中都不能通过list修改内容否则会报java.util.ConcurrentModificationException异常,因为迭代器执行ite.next方法时会调用checkForComodification方法,检查modcount是否与expectedModCount相等,不等就会报错。使用这种机制的原因:Iterator 是工作在一个独立的线程中,并且拥有一个 ...

2018-03-12 17:11:18 244

原创 java框架 hibernate学习

hibernate框架    hibernate框架是java用于简化jdbc操作所使用的框架,使用ORM(对象关系映射)思想,通过配置问价将javabean实体类自动创建相关数据库中的表(xxx.hbm.xml文件内完成映射)。在项目全局中创建hibernate.cfg.xml(在src目录下),完成1.数据库连接信息配置(必选)2.hibernate相关配置(可选)3.将映射文件(实体类的hb...

2018-03-10 12:47:15 213

原创 java实现多线程以及sychronized实现并发控制

import java.util.Random;public class MultThead { public static void main(String[] args) { BankCount bankcount = new BankCount(); int i = 10; Random rand = new Random(); new Thread(new Runnable() {...

2018-03-07 11:36:30 177

原创 hashmap的四种遍历方法

package exam;import java.util.Collection;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;import java.util.Set;public class MapTest { public static vo...

2018-03-07 10:41:44 938

转载 java 可变参

1.可变参数的定义从JDK1.5之后,java就提供了变长参数(variable arguments,varargs)。我们在定义方法的时候,可以使用不确定个数的参数。对于同一个方法,也可以通过不确定参数个数的方式进行重载。首先来看个最简单的例子public void printArray(String... args) {for(int i=0; i<args.length; i++) {...

2018-03-06 22:28:55 156

原创 强,弱,软引用

import java.lang.ref.SoftReference;import java.lang.ref.WeakReference;public class Main {    public static void main(String[] args) {                 SoftReference<String> sr = new SoftReference...

2018-03-06 21:37:22 145

原创 String的编码方式转换与读取

import java.io.UnsupportedEncodingException;public class UTF_GBK { public static void main(String[] args) throws UnsupportedEncodingException { // TODO Auto-generated method stub byte[] s = new Stri...

2018-03-06 21:19:14 802

转载 java 集合汇总

JAVA集合类汇总一、集合与数组数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。二、层次关系如图所示:图中,实线边框的是实现类,折线边框的是抽象类,而点线边框的是接口Collection接口是集合类的根接口,Java中没有提

2017-07-26 23:37:38 159

转载 概括的解释下线程的几种可用状态

1. 新建( new ):新创建了一个线程对象。2. 可运行( runnable ):线程对象创建后,其他线程(比如 main 线程)调用了该对象 的 start ()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获 取 cpu 的使用权 。3. 运行( running ):可运行状态( runnable )的线程获得了 cpu 时间片( timeslice ) ,执行程序代码

2017-07-26 22:08:21 1543

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除