随笔分类 -  【JavaWeb】

摘要:MessageDigest MessageDigest 类为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。信息摘要是安全的单向哈希函数,它接收任意大小的数据,输出固定长度的哈希值。 MessageDigest 对象开始被初始化。该对象通过使用 " " ) 方法处理数据。任何时候都可以 阅读全文
posted @ 2019-01-20 23:21 西北野狼 编辑
摘要:网络分层: 1. 应用层 1. 传输层 1. 网络层 1. 数据链路层 1. 物理层 物理层: 比特流在节点之间的传输,是计算机连接起来的物理手段。 数据链路层: 控制网络层和物理层之间的通信,功能是在不可靠的物理线路上进行数据可靠传输。 网络层: 两台主机上应用程序端到端的通信。 两个协议: TC 阅读全文
posted @ 2018-10-24 21:04 西北野狼 编辑
摘要:FastDFS文件上传工具类 阅读全文
posted @ 2018-10-22 20:44 西北野狼 编辑
摘要:编写高质量代码:改善Java程序的151个建议 [117~128] Thread 不推荐覆写start方法 先看下Thread源码: 启动线程前stop方法是不可靠的 看下线程stop源码: start源码: 注意看start0方法和stop0方法的顺序,start0方法在前,也就说既是stopBe 阅读全文
posted @ 2018-08-14 16:42 西北野狼 编辑
摘要:编写高质量代码:改善Java程序的151个建议 [106~117] 动态代理可以使代理模式更加灵活 动态代理使用场景: 不用显式创建代理类即实现代理的功能,例如可以在被代理的角色执行前进行权限判断,或者执行后进行数据校验。 使用反射增加装饰模式的普适性 反射让模板方法模式更强大 提倡异常封装 具体调 阅读全文
posted @ 2018-08-13 17:31 西北野狼 编辑
摘要:建议的采用顺序是List中泛型顺序依次为T、?、Object (1)、List是确定的某一个类型 List表示的是List集合中的元素都为T类型,具体类型在运行期决定;List<?>表示的是任意类型,与List类似,而List则表示List集合中的所有元素为Object类型,因为Object是所有类 阅读全文
posted @ 2018-08-13 11:02 西北野狼 编辑
摘要:编写高质量代码:改善Java程序的151个建议 [78~92] HashMap中的hashCode应避免冲突 多线程使用Vector或HashTable Vector是ArrayList的多线程版本,HashTable是HashMap的多线程版本。 非稳定排序推荐使用List 对于变动的集合排序 1 阅读全文
posted @ 2018-08-10 17:26 西北野狼 编辑
摘要:编写高质量代码:改善Java程序的151个建议 [65~78] 原始类型数组不能作为asList的输入参数,否则会引起程序逻辑混乱。 输出的结果是: 元素类型是:class [I 前后是否相等:true 如果要转换,建议转换为对应的包装类,再使用 List list= Arrays.asList(d 阅读全文
posted @ 2018-08-09 17:41 西北野狼 编辑
摘要:编写高质量代码:改善Java程序的151个建议 [52~64] 推荐使用String直接量赋值 Java为了避免在一个系统中大量产生String对象(为什么会大量产生,因为String字符串是程序中最经常使用的类型),于是就设计了一个字符串池(也叫作字符串常量池,String pool或String 阅读全文
posted @ 2018-08-07 09:07 西北野狼 编辑
摘要:编写高质量代码:改善Java程序的151个建议 [36~51] 工具类不可实例化 工具类的方法和属性都是静态的,不需要生成实例即可访 问,而且JDK也做了很好的处理,由于不希望被初始化,于是就设置了构造函数private的访问权限,表示出了类本身之外,谁都不能产生一个实例: 避免对象的浅拷贝 sup 阅读全文
posted @ 2018-08-06 14:29 西北野狼 编辑
摘要:206 断点下载时用到,客户端请求了一部分内容,服务器成功把这部分内容返回给它,这时候就是用这个状态。 301 永久跳转,原地址不存在了,url被指向到另一个地址。这个主要是搜索引擎相关,影响爬虫的检索行为。 302 临时跳转,服务器会返回一个新的url给客户端,客户端可以继续访问这个url来获取内 阅读全文
posted @ 2018-07-01 23:52 西北野狼 编辑
摘要:深入学习semaphore 控制同时访问资源线程数 访问特定资源前,先使用acquire(1)获得许可,如果许可数量为0,该线程则一直阻塞,直到有可用许可。 访问资源后,使用release()释放许可。 demo: 非公平策略 acquire实现,核心代码如下: java final int non 阅读全文
posted @ 2018-05-24 10:10 西北野狼 编辑
摘要:@transactional注解在什么情况下会失效,为什么。 @Transactional的使用: 在xml中配置spring事务管理类DataSourceTransactionManager 调用含注解的方法并抛异常,执行有异常抛出,z1表新增记录、z2表无新增记录,事务失效 修改后: 在代理下( 阅读全文
posted @ 2018-05-09 11:12 西北野狼 编辑
摘要:StringBuilder和StringBuffer的区别: String 字符串常量 不可变 使用字符串拼接时是不同的2个空间 StringBuffer 字符串变量 可变 线程安全 字符串拼接直接在字符串后追加 StringBuilder 字符串变量 可变 非线程安全 字符串拼接直接在字符串后追加 阅读全文
posted @ 2017-11-11 08:15 西北野狼 编辑
摘要:什么是Ajax? AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 ajax是一种浏览器异步发起请求。局部更新页面的技术。 javaScript原生Ajax请求 原生的Ajax请求, 1、我们 阅读全文
posted @ 2017-08-01 00:23 西北野狼 编辑