上一页 1 2 3 4 5 6 ··· 8 下一页
摘要: 早期的web基本用语文档的处理,既然是浏览作为服务器不需要判断现在是谁在浏览。有请求直接响应就可以了,后来因为交互式应用的兴起(在线购物,微博),服务器有了一个新的要求:管理会话。也就是必须记住是哪个人往购物车放了东西,哪个人发了新的微博。因为http请求是无状态的,所以想出来的办法就是在第一次请求 阅读全文
posted @ 2020-08-13 10:46 Vinlen 阅读(227) 评论(0) 推荐(0) 编辑
摘要: Spring支持使用声明式事务,即使用注解来选择需要使用事务的方法,这是一个基于AOP的实现操作,通过在方法开始之前创建/加入一个事务,在执行完方法之后根据方法是否有异常来决定提交事务还是将数据回滚。(导包的时候记得这个注解来自springFrameork,而不是javax)。既然是声明式,那就可以 阅读全文
posted @ 2020-08-12 16:08 Vinlen 阅读(109) 评论(0) 推荐(1) 编辑
摘要: 针对现在火热的RPC框架,jdk也有自己自带的工具集。java.rmi包就是为了实现远程方法调用技术而开发的。rmi为java语言独有,不支持其他语言,所以能够完美的支持java语言所独有的特性。由于是靠java原生的序列化机制、底层通信基于BIO实现的Scoket完成,所以性能较差,高并发情况下不 阅读全文
posted @ 2020-08-11 17:46 Vinlen 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 雪崩:比如现在redis的失效时间都是12小时,每天0点,12点刷新。某一天公司0点有个秒杀活动,假设当时一秒有1.1W个请求,本来缓存一秒可以抗住1W个请求,但是缓存当时所有的key都失效了,1.1W个请求都落在了数据库上,数据库肯定扛不住,可能DBA还没反应过来数据库就已经挂掉了。同一时间red 阅读全文
posted @ 2020-07-16 16:39 Vinlen 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 传统的方法 加Synchronized关键字,也就是所谓的加锁,只有拿到锁的线程才能操作该数据,这是所谓的让线程等待、牺牲时间的方法。 还有一种方法也能解决这个问题,Java中有一个ThreadLocal类 该类在源码中的描述为当前线程独有的一个存储类,可以在指定线程内存储数据。通过阅读源码之后发现 阅读全文
posted @ 2020-06-19 17:15 Vinlen 阅读(1019) 评论(0) 推荐(0) 编辑
摘要: 一,避免在循环条件中使用复杂的表达式 在循环中,循环条件会被反复计算,如果不使用复杂表达式而使循环条件值不变的化,程序会运行的更快 import java.util.List; public class foreach { void method(List list){ for (int i = 0 阅读全文
posted @ 2020-06-19 10:09 Vinlen 阅读(318) 评论(0) 推荐(0) 编辑
摘要: Session对象 session对象用于存储特定的用户会话所存的信息。是为了弥补Http协议的不足(Http协议本身是无状态的,客户端和服务端都只关注每一次请求和响应,双方都没有必要记录彼此过去的操作,每一次请求都是独立的)。session数据会在一定时间内保存在服务器上,当访问量增多,会占用服务 阅读全文
posted @ 2020-06-19 08:58 Vinlen 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 在常用的操作系统中,Unix系统使用的是时间片算法来处理进程,所谓的时间片算法,就是所有进程排成一个队列。操作系统按照他们的顺序,每个进程分配一段时间,如果在时间片结束时进程还在执行,那么CPU就会被强行剥夺并分配给另一个进程,如果进程在时间片结束前阻塞或者结束,则CPU当即进行切换。调度程序要做的 阅读全文
posted @ 2020-06-18 17:32 Vinlen 阅读(1720) 评论(1) 推荐(0) 编辑
摘要: 快速排序快速排序是对冒泡排序的一种改进,实现的途径为在数组中取一个数为基数。基数的左边为比基数小的值,基数的右边是比基数大的值左边的值又可以取基数继续排序 一直到被分成只有一个值的时候 这时已经为有序排序按下面的例子来说 有一个数组{1,5,2,6,7,3,4,8,9}会随机选择一个数字作为基数 标 阅读全文
posted @ 2020-05-15 17:35 Vinlen 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 归并排序,也就是将一个数组无限次的对半拆分 一直拆分数量为1的时候 将两个数量为1的数组比较大小合并为有序的,再依次往上合并如果班上有10个小学生{1, 5, 2, 6, 7, 3, 4, 8,9,10} 先将小学生分成2组,A组{1,5,2,6,7}和B组{3,4,8,9,10}再将A组拆分为两组 阅读全文
posted @ 2020-05-15 17:28 Vinlen 阅读(157) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 8 下一页