会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
昆梧
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
下一页
2020年9月9日
常见排序算法
摘要: 交换方法 1 public static void swap(int[] nums, int a, int b) { // 交换数组中的两个数 2 int tmp = nums[a]; 3 nums[a] = nums[b]; 4 nums[b] = tmp; 5 } 冒泡排序 1 public s
阅读全文
posted @ 2020-09-09 19:58 昆梧
阅读(156)
评论(0)
推荐(0)
2020年9月8日
ThreadLocal
摘要: 要点 ThreadLocal是线程独有的,线程之间隔离。 ThreadLocal在整个线程上下文中都可以获得,可以避免参数的反复传递。 ThreadLocal在用完之后要通过finally清除,否则如果线程复用,会遗留到下一次处理中。 get() 1 public T get() { 2 Threa
阅读全文
posted @ 2020-09-08 21:40 昆梧
阅读(161)
评论(0)
推荐(0)
Java线程池
摘要: ThreadPoolExecutor 在Java中可以创建的线程池类有很多,各自拥有不同的特性,但查看源码可以发现,这些线程池的创建在底层都调用了new ThreadPoolExecutor(),因此我们首先讨论ThreadPoolExecutor。 1 public ThreadPoolExecu
阅读全文
posted @ 2020-09-08 15:50 昆梧
阅读(191)
评论(0)
推荐(0)
2020年9月7日
sychronized 和 Lock
摘要: sychronized 关键字,无期限等待锁,读读也互斥,代码结束自动释放锁。 主要方法 obj.wait:释放锁,进入阻塞,等待唤醒(需要拿到锁) obj.notify:随机唤醒一个(需要拿到锁) obj.notifyAll:唤醒所有(需要拿到锁) 示例 1 public class Synchr
阅读全文
posted @ 2020-09-07 23:17 昆梧
阅读(152)
评论(0)
推荐(0)
CountDownLatch, CyclicBarrier, Semaphore 和 Phaser
摘要: CountDownLatch 计数与阻塞是分离的(相对灵活),当计数器为0时释放阻塞线程,不可重置,不可复用。 参与计数的线程不用阻塞,需要阻塞的线程不用参与计数。 主要方法 await:阻塞当前线程(可设置超时时间) countdown:计数减1 getCount:返回当前计数 示例 1 publ
阅读全文
posted @ 2020-09-07 15:43 昆梧
阅读(305)
评论(0)
推荐(0)
2020年9月6日
Web系统的密码加密问题(摘要算法)
摘要: 思路 盐值+MD5摘要算法 1.为了防止字典破解(常用字符),先生成一个长度16位(位数最好和摘要算法的结果长度一致)的随机(安全随机数)byte数组作为盐值,通过Base64编码之后,将其和原密码按规则组合,保证进行摘要运算前的明文是无规律的。 2.使用MD5摘要算法对明文进行运算得到一个长度16
阅读全文
posted @ 2020-09-06 23:15 昆梧
阅读(396)
评论(0)
推荐(0)
Web系统的表单重复提交问题
摘要: 表单页面JSP: 1 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 <html> 3 <head> 4 <title>表单页面</title> 5 </head> 6 <body> 7 <form action
阅读全文
posted @ 2020-09-06 11:36 昆梧
阅读(362)
评论(0)
推荐(0)
2020年9月5日
AJAX局部刷新技术
摘要: AJAX的全称:Asynchronous JavaScript and XML(异步的Javascript和XML),Ajax是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 XM
阅读全文
posted @ 2020-09-05 18:47 昆梧
阅读(300)
评论(0)
推荐(0)
一些简单的SQL查询练习
摘要: 表结构 员工表: 部门表: 薪水等级表: 练习题目 1.统计各部门员工数量 显示部门名称 思路:在连接两张表时,为了保证即便没有员工,部门也一定显示,因此用部门表左外连接员工表(或者员工表右外连接部门表)。 select dept.deptno, dname, count(empno) as cou
阅读全文
posted @ 2020-09-05 13:12 昆梧
阅读(247)
评论(0)
推荐(0)
三种集合的特点和使用场景
摘要: List 特点:有序,可重复,线性,可以使用sort排序。 使用场景:需要有序存储可重复的数据时。 Set 特点:无序,不可重复,非线性。 使用场景:需要存储不可重复的数据时。 Map 特点:无序,不可重复,非线性,数据以键值对(映射)的形式存储。 使用场景:需要以键值对的形式存储不可重复的数据时。
阅读全文
posted @ 2020-09-05 09:58 昆梧
阅读(878)
评论(0)
推荐(0)
上一页
1
2
3
下一页
公告