本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
fantaxy025025 - johnsmith9th
- xiangjie88
- zysnba
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- gengyun12
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sam123456gz
- sichunli_030
- arpenker
- tanling8334
- gaojingsong
- kaizi1992
- xpenxpen
- 龙儿筝
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- luxurioust
- lemonhandsome
- mengjichen
- jbosscn
- zxq_2017
- lzyfn123
- nychen2000
- forestqqqq
- wjianwei666
- ajinn
- zhanjia
- siemens800
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- mwhgJava
最新文章列表
request header cookie关系
cookie在request的header中,header可以有自定义的例如token,此时cookie和token同级,同时cookie可以放多个key-value,所以cookie也可含有token(只要你也放入
跨域的时候cookie,header中的自定义部分不会带过去,此时可以用你cors方式ajax发起的时候设置传递header,cookie或url传值(url,body传值 ...
Java 如何有效地避免OOM:善于利用软引用和弱引用
一.了解 强引用、软引用、弱引用、虚引用的概念
总括:
jvm的对象回收
1,没有引用
1,变量值置为null
2,变量值指向其他引用---之前被用的对象没有引用树,自动被jvm回收
强 软弱 虚(无)
回收决定于内存够不够 任何时候可以回收
引用强度逐级递减:
强引用 ...
HTTP简介
HTTP简介
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体 ...
深入理解线程和线程池
关于线程和线程池的学习,我们可以从以下几个方面入手:
第一,什么是线程,线程和进程的区别是什么
第二,线程中的基本概念,线程的生命周期
第三,单线程和多线程
第四,线程池的原理解析
第五,常见的几种线程池的特点以及各自的应用场景
线程池是建立好了线程,外部不需要建立线程,有任务直接放入现有空闲线程
类似长链接,连接不释放,有通讯直接用建立好的连 ...
相似业务不同渠道对应服务实现类的另一种获取方式
多例注入就有多个用list接收,然后根据实现类中的渠道代码特征匹配传进来的渠道代码也可实现类似动态反射获取不同渠道的server实现类(借助数据库存储实现类和渠道的关系)一样的效果,但是这种有一定的弊端:即只允许一个渠道业务只有一个类实现着个接口,一旦有多个那么这个渠道业务永远只用无最先匹配到的哪个实现类(不同的业务用不同的接口,每个接口一个渠道就是一个实现类即可解决)。一般用数据库存储 ...
跨域资源共享详解
CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。
它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。
本文详细介绍CORS的内部机制。
注意:http://localhost:9990/urule/frame### urlue的这个 ...
加签,验签
一般安全考虑,1,验签--签名,2,解密---加密
加签:签名原文,私钥,签名工具类生成签名--base64转化一次(不是非对称加密,是jdk专门的验,加签方法)
签名:
String sign = Sign256lcUtil.generateSign(responseResult.getBizContent(), REQUEST_ID, privat ...
图片流加密思路
思路一:输入流与指定的key值进行异或运算
/ *
* 将原输入流与指定的key值进行异或运算得到特殊处理后的输出流
*
* @param is
* @param key
* @return
* @throws IOException
*/
public static InputS ...
json bean之间的转化
json的接收有转化成bean的属性用--自定义
///由json映射到实体-----处理下划线命名时mvc模型驱动接收不到数据
@JsonProperty("SESSION_ID")//json中的字段---输入
private String sessionId;//实体中的字段 避免直接SESSION_ID
bean的属性转化成json的自定义的名称用--- ...
加密思路(二)
简单的一层加密(直接用key来加密数据,接收方直接用key解密数据),之前的一篇是key本身也加密:接收方先解密key,再用解密的key解密数据--加解密(对称加密)--类似https加密思路
客户端调用是加密,被调用服务器上用切面拦截校验加密的后的内容传入前后是否一致(验签)和key是否一致,一致就放行
对称加密:des,aes---用固定的key加密明文,用同样的ke ...
异步的利弊
异步的利弊
利:
1,异步避免http请求过长尝试,需要处理超时还可以增加超时时间
弊:
1,异步在有顺序依赖的结果变量的引用问题,异步a的结果或则中间变量不能被下游的b及时用到
可以用线程的join方法控制,或者用条件唤醒控制或者调整位置
/**
* 投保结果通知
*/
@Override
public ApiRespo ...
Java中的String,StringBuilder,StringBuffer三者的区别
这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。
首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String
String最慢的原因:
String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更 ...
源,流的转化落地
inputStream(来源文件)/outStream(待写入)是文件的话都已目标文件为参数,这两个都是抽象类实例化的时候需要具体的实现类赋值,
特殊结构的类要包入一般的流,即再包一层
OutputStream oo = new FileOutputStream(new File("C:\\Users\\yy\\tst\\20271109.zip"));
...
java数据结构----队列,优先级队列
队列和栈就是封装了对数组的操作
用了两个坐标实现(插入后,删除后)来实现先入先出,一个坐标的话指只能先入后出
1.队列:和栈中的情况不同,队列中的数据项不总是从数组下标0开始,移除一个数据项后,队头指针会指向下标较高的数据项,其特点:先入先出
2.图解
3.队列的实现代码:
3.1.Queue.java
优先队列原理与实现
优先队列原理与实现
优先队列是一种用来维护一组元素构成的结合S的数据结构,其中每个元素都有一个关键字key,元素之间的比较都是通过key来比较的。优先队列包括最大优先队列和最小优先队列,优先队列的应用比较广泛,比如作业系统中的调度程序,当一个作业完成后,需要在所有等待调度的作业中选择一个优先级最高的作业来执行,并且也可以添加一个新的作业到作业的优先队列中。Java中,Prio ...