摘要:
文章首发于今日头条:https://www.toutiao.com/i6712324863006081549/
前言
跳槽时时刻刻都在发生,但是我建议大家跳槽之前,先想清楚为什么要跳槽。切不可跟风,看到同事一个个都走了,自己也盲目的开始面试起来(期间也没有准备充分),到底是因为技术原因(影响自己的发展,偏... 阅读原文
2019-07-16 08:53:05 阅读(2371) 评论(0)
摘要:
Java简述:
Java语言,95年由Sun公司推出的一门语言,最开始被命名为Oak语言,开发团队核心人物James Gosling(詹姆斯·高斯林)
Java名字的由来:据说当时的名字已经被占用了,团队的人员在想给这种语言起个什么名字好,直到某天中午,在喝咖啡的时候,觉得这个咖啡超级好喝,就询问店员咖啡... 阅读原文
2019-07-16 07:19:02 阅读(2455) 评论(0)
摘要:
1、多线程有什么用?
一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓”知其然知其所以然”,”会用”只是”知其然”,”为什么用”才是”知其所以然”,只有达到”知其然知其所以然”的程度才可以说是把一个知识点运用自如。OK,下面说说我对这个问题的看法:
(1)发... 阅读原文
2019-07-16 06:00:02 阅读(2481) 评论(0)
摘要:
线程组
我们可以把线程归属到某个线程组中,线程组可以包含多个线程以及线程组,线程和线程组组成了父子关系,是个树形结构,如下图:
使用线程组可以方便管理线程,线程组提供了一些方法方便方便我们管理线程。
创建线程关联线程组
创建线程的时候,可以给线程指定一个线程组,代码如下:
package com.itsoku.ch... 阅读原文
2019-07-16 00:00:03 阅读(2542) 评论(0)
摘要:
首先我们需要两个jar包,点击下面即可下载这两个包:
JavaMail mail.jar 1.4.5
JAF(版本 1.1.1) activation.jar
我们这里采用QQ邮箱发送邮件为例,代码如下:
package ddd;
import java.util.Properties;
... 阅读原文
2019-07-15 17:17:01 阅读(2391) 评论(0)
摘要:
GitHub源码地址:知了一笑
https://github.com/cicadasmile/middle-ware-parent
一、Shiro简介
1、基础概念
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。作为一款安全框架Shiro的设计相当巧妙。Shiro的应... 阅读原文
2019-07-15 15:28:03 阅读(2366) 评论(0)
摘要:
总结理解的模板方法设计模式及抽象类
(菜鸟一只,若有什么侵权或者不足之处,请指出,谢谢)
模板方法设计模式:
在父类中定义一个总体的算法骨架,而将一些具体的实现步骤放在到子类中,因为不同的子类实现细节不同 模板方法使得子类可以在不改变算法框架的情况下,只需要重新定义算法的... 阅读原文
2019-07-15 14:48:02 阅读(2776) 评论(0)
摘要:
使用Mybatis完成的CRUD操作
个人总结的一些小规律
学习过程中碰到的错误:
org.apache.ibatis.exceptions.PersistenceException:
### Error updating database. Cause: com.mysql.jdbc.exceptions.j... 阅读原文
2019-07-15 13:22:05 阅读(2616) 评论(0)
摘要:
缓存锁
我们常常将缓存作为分布式锁的解决方案,但是却不能单纯的判断某个 key 是否存在 来作为锁的获得依据,因为无论是 exists 和 get 命名都不是线程安全的,都无法保证只有一个线程可以获得锁,存在线程争抢,可能会有多个线程同时拿到锁的情况(经典的 Redis “读后写”的问题)。
incr 缓存锁
@C... 阅读原文
2019-07-15 13:00:02 阅读(2304) 评论(0)
摘要:
一、mybatis逆向工程
由官方自动生成dao mapper.xml pojo等文件步骤:1)、导入jar包:
mybatis-generator-core-1.3.6 代码生成器的核心包
mysql-connector-java-5.1.28-bin.jar 连接数据库
mybatis-3.2.3.ja... 阅读原文
2019-07-15 12:40:02 阅读(2410) 评论(0)