Java学习
文章平均质量分 70
huskyui
如果不想被动,那就主动一点
展开
-
ThreadLocal种种问题
为什么需要在拦截器删除threadLocal中的数据因为在实际中的使用的时候,我们使用的tomcat的线程池时候,如果使用完不删除threadLocal里面数据,会导致数据可能在下次请求时,被其他线程可见。 ThreadLocal<String> threadLocal = new ThreadLocal<String>(); @RequestMapping("/test") public Map<String,String> test(){原创 2021-05-31 01:09:01 · 1087 阅读 · 0 评论 -
java常见BUG持续更新中
String类型的equalsString a = 未知;// 不知是null还是字符串String b = "abc";// 下面写法空指针异常// String a = null;// String b = "abc";// System.out.println(a.equals(b));// 我们应该这么写 String a = null; String b = "abc"; Syste原创 2020-11-01 22:45:47 · 222 阅读 · 0 评论 -
google protobuf
google protobuf下载工具https://github.com/protocolbuffers/protobuf/releases/tag/v3.13.0由于我使用的是windowsX64,我选择win64版本下载后,解压将bin目录放入环境变量里面编写proto文件新建文件AddressBook.proto文件syntax = "proto2";package tutorial;option java_package = "com.example.tutorial";o原创 2020-09-08 14:46:46 · 193 阅读 · 0 评论 -
java中foreach和iterator
java中foreach入门今天闲来无事,师父让我看一下,迭代器在一个循环里面连续两次iterator.remove()的问题,因为今天看一个离职人员的代码,里面写了这个。我们看一下测试代码:List<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);list.add(4);for (Integer value:list){ logger.debug(value);}原创 2020-08-07 13:45:07 · 524 阅读 · 0 评论 -
反射与注解
获取Class类的实例a) 若已知具体的类,通过类的class属性获取,该方法最为安全可靠,程序性能最高Class clazz = Person.class;b) 若已知某个类的实例,调用该实例的getClass()方法获取Class对象Class clazz = person.getClass();c)已知一个类的全类名,且该类在类路径下,可以通过Class的静态方法forName()获取,可能会抛出ClassNotFoundExceptionClass clazz = Class.for原创 2020-07-09 22:14:18 · 147 阅读 · 0 评论 -
微信获取小程序码
微信小程序获取小程序码的无限制接口是返回二进制内容请求微信接口获取字节数组byte[] public byte[] getQrCodeUnlimited(String scene,String page){ // 获取access_token 请自己封装 String accessToken = getAccessToken(); Map<Stri...原创 2019-11-26 11:44:48 · 1310 阅读 · 0 评论 -
Timer定时调用
1. 具体实例继承TimerTask抽象类实现两个子类TimerJob和TimerJob2package com.husky.timer;import java.text.SimpleDateFormat;import java.util.Date;import java.util.TimerTask;/** * @author husky * @date 2018/9/1...原创 2018-09-18 17:32:30 · 219 阅读 · 0 评论 -
quartz源码阅读(一),先开坑
首先,我使用的quartz的版本<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.3.0</version></depe原创 2018-10-10 20:07:27 · 1223 阅读 · 0 评论 -
面试之代理
昨天面试碰到了面试官问spring的时候,问完ioc,然后下个问题我以为是aop,后来才听清是动态代理,感觉回答的不是太好,也是好久不接触1.静态代理代理模式也就委托模式。三个角色:Subject抽象主题角色:接口RealSubject具体主题角色:接口的实现类,业务逻辑的具体执行者Proxy代理主题角色:也叫做委托类,代理类。它负责对真实角色的应用,负责真实角色前后前后做预处理和善...原创 2018-12-23 17:53:51 · 349 阅读 · 0 评论 -
singleton
单例Singleton类被称为单例类,通过使用private的构造函数确保了在一个应用只产生一个实例.----设计模式之禅使用场景在一个系统中,要求一个类有且仅有一个对象,如果出现多个对象就会出现"不良反应",可以采用单例模式,具体使用场景如下:需要生成唯一序列号的环境创建一个对象需要消耗的资源过多,如要访问IO和数据库等资源.等等单例的逐渐进化之路1.饿汉式/*...原创 2019-05-04 15:06:33 · 4304 阅读 · 0 评论 -
aop+annotation实现权限管理
功能需求遇到一个问题,要实现权限管理,也就是有些按钮点击时要提示,没有权限,有很多接口,如果要是按照老的方式,就是每个方法都手写权限判断.十分浪费时间问题的重要点重复的工作,如何解决项目并没有引入shiro之类的模块而且session是保存在redis中的,所以分布式的环境也可使用session,如何从session中获取用户信息话不多少,直接说怎么做采用aop实现重复的权限判断...原创 2019-06-24 22:43:17 · 836 阅读 · 0 评论 -
springboot导入本地jar包
springboot导入本地jar包首先在src下建目录lib,并将需要的本地jar包放入在pom.xml下修改如下 <!-- 导入云顿数据风控的jar --> <dependency> <groupId>aliyun</groupId> <artifactId>ali...原创 2019-08-15 18:35:22 · 2788 阅读 · 0 评论 -
httpClient工具类
httpClient工具类pom配置<!-- apache httpclient组件 start--><dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId></dep...原创 2019-09-05 15:59:31 · 403 阅读 · 5 评论 -
微信昵称中表情保存到数据库问题
微信昵称中包含表情导致无法插入数据库java.sql.SQLException: Incorrect string value: '\xF0\x9F\x8E\x80' for column 'wechat_nick_name'注意修改微信昵称后,获取微信昵称和头像是有缓存的,我这次是1个小时,缓存就刷新了解决步骤修改对应表中的编码ALTER TABLE table_name CO...转载 2019-09-30 15:36:45 · 755 阅读 · 0 评论 -
构造器模式
平常我们新建对象的时候,一般是直接Student student = new Student("zhangsan",11,new Date(),"男");这样的代码可读性极差。使用构造器模式Student student = new Student .StudentBuilder("张三") .date(n...原创 2018-09-12 20:21:13 · 664 阅读 · 0 评论 -
java annotation
java annotation 注解 官方解释: 注解 是一系列元数据,它提供数据用来解释程序代码,但是注解并非是所解释的代码本身的一部分。注解对于代码的运行效果没有直接影响 注解有很多好处,主要如下: -提供信息给编译器:编译器可以利用注解来探测错误和警告信息 -编译阶段时的处理:软件工具可以利用注解信息来生成代码,Html文档或者其他相应处理 -运行时的处理...转载 2018-08-17 19:19:57 · 148 阅读 · 0 评论 -
java8 lambda
1.匿名内部类 @Test public void oldRunable(){ new Thread(new Runnable() { @Override public void run() { System.out.println("the old runable now is us...转载 2018-08-08 15:10:11 · 238 阅读 · 0 评论 -
验证码生成
import java.util.Scanner;public class Main { public static void main(String[] args) { String randomCode=""; System.out.println("请输入你生成几位验证码"); Scanner input=new Scanner(Sys原创 2016-09-06 19:53:25 · 248 阅读 · 0 评论 -
nyoj4614括号匹配
import java.util.Scanner;import java.util.Stack;public class Main { public static void main(String[] args) { Scanner input=new Scanner(System.in); int testNum=input.nextInt();原创 2016-09-07 12:13:18 · 261 阅读 · 0 评论 -
java继承
最近重新复习了继承,比第一次有更深的了解,温故而知新. 1.继承基本,super,Overridepublic class TeacherDemo { public static void main(String[] args) { JavaTeacher jteacher=new JavaTeacher("zhangsan", "jiaoda"); DBT原创 2016-11-17 18:41:41 · 252 阅读 · 0 评论 -
java多态
多态性:多种行为package ploy;public class AnimalDemo { public static void main(String[] args) { //父类的引用变量可以引用其子类的对象 Animal animal1=new Dog("wangcai");//向上转型//上是指子类转成父类,可能会丢失方法 animal原创 2016-11-21 11:03:23 · 329 阅读 · 0 评论 -
java抽象类
1.代码解释package Abstract;public class EmployeeDemo { public static void main(String[] args) { JavaTeacher teacher = new JavaTeacher(10, "张三", 10000); teacher.work(); teacher.aa原创 2016-11-23 17:06:57 · 510 阅读 · 0 评论 -
java接口interface
代码package Interface;public class InterfaceDemo { public static void main(String[] args) { //System.out.println(IAbility.number); //System.out.println(IAbility.number++); //原创 2016-11-23 17:33:52 · 242 阅读 · 0 评论 -
Arrays.asList()
asListpublic static <T> List<T> asList(T... a)Returns a fixed-size list backed by the specified array. (Changes to the returned list "write through" to the array.) This method acts as bridge between a原创 2017-03-04 10:59:14 · 231 阅读 · 0 评论 -
mysql 与 java
最近在windows下学习jdbc 1.mysql下载http://download.csdn.net/download/tan3739/8855049 不需要积分(0积分) 安装的时候,一直next就行了。具体的自行百度2.在cmd.exe运行mysql 先配环境http://jingyan.baidu.com/article/3ea51489e9998f52e61bbaf7.html原创 2017-04-27 10:52:16 · 360 阅读 · 0 评论 -
int 和 Integer 有什么区别?谈谈 Integer缓存值的范围
首先int是原始数据类型,在java中有8个这样的原始数据类型,分别为:int,short,boolean,byte,char,float,double,long。java当中一切皆是对象,但基本数据类型除外。 Integer是int的包装,它有一个int类型的字段存储数据,并且提供了基本操作,比如数学运算,位运算等。在java5中引入了自动装箱,自动拆箱的功能,极大简化了相关编程。 Inte...转载 2018-07-17 14:52:32 · 5275 阅读 · 0 评论 -
对比Vector、ArrayList、LinkedList有何区别
这三者都是实现集合框架的List,也就是所谓的有序集合,因此具体功能都实现了按照位置进行定位,修改,添加或者删除,都提供了迭代器以遍历其内容,但因为具体设计不同,在行为,性能,线程安全等方面,表现又有很大不同。 Vector是java早期提供的线程安全的动态数组,但数据满时,自动扩容,会创建新的数组,并拷贝原有的数组。 ArrayList是应用更广泛的动态数组,它本身是线程不安全的,所以性能会...转载 2018-07-17 16:24:27 · 224 阅读 · 0 评论 -
HashMap存入数据时源码阅读
首先java版本1.8 首先确定的是,HashMap的存储结构 约定在前面的是桶 在桶后面的链表是bin 源码//hashmap中的put方法public V put(K key, V value) { return putVal(hash(key), key, value, false, true); }static final int hash(Ob...转载 2018-07-18 18:57:28 · 496 阅读 · 0 评论 -
TreeMap源码阅读
基本结构 private final Comparator<? super K> comparator; private transient Entry<K,V> root; //根节点 /** * The number of entries in the tree */ private transien...转载 2018-07-19 12:40:21 · 271 阅读 · 0 评论 -
统计单词
方法一:Scanner中方法hasNext()/* * 题目内容:你的程序要读入一篇英文文章,然后统计其中的单词数来输出。需要统计的数据为:总的单词数量;含有1个字母到10个字母的单词的数量。单词和单词的间隔是由各种空格(包括空格、tab和回车换行)形成的,也就是说,这里的单词与语言无关,可以包括各种符号,比如“it's”算一个单词,长度为4。注意,行中可能出现连续的空格。长度超过10个字母的原创 2016-09-04 13:03:12 · 1653 阅读 · 6 评论