
Java
java
houjibofa2050
读源码,要有技术深度,做一个把一招练一万遍的程序员。
展开
-
i++ 是否是线程安全的
i++ 是否是线程安全的 ?不是线程安全的,它不是原子操作。使用同步技术把它变成一个原子操作。解决方法:1.使用synchronized修饰增加的方法。2.使用原子类AtomicInteger...原创 2018-12-29 11:06:32 · 515 阅读 · 0 评论 -
负载均衡及其相关面试题
目录1.什么是负载均衡?2.负载均衡的方式实现有哪些?3.负载均衡的策略有哪些?4.参考1.什么是负载均衡?将负载或请求均匀或者平均分摊到多个操作单元上。2.负载均衡的方式实现有哪些?1.proxy model (代理模式)代理模式是消费者和生产者之间有一个独立的负载均衡器。缺点是服务消费方和服务提供方增加一级,有性能开销。2. Blancing-aware client (客户端的负载均衡策略)负载均衡策略集成到消费方,优点:消费端直连生产者 缺点.原创 2021-08-24 00:26:07 · 2073 阅读 · 0 评论 -
类加载器以及常见面试题
1.什么是ClassLoaderClassLoader是类加载,把类的.class文件从磁盘加载进内存,放在运行时数据区的方法内,在堆中创建一个java.lang.class对象,方法区存放类相关的数据结构。2.类加载器有哪几种以及加载对应的包有哪些?类的加载器从上到下依次是Bootstrap ClassLoader,Ext ClassLoader,App ClassLoader,Customer ClassLoaderBoostrap ClassLoader /JAVA_HOME/原创 2021-08-23 23:24:23 · 364 阅读 · 0 评论 -
log4j 按天输出日志 ,按照指定的大小输出日志
log4j.propertieslog4j.rootLogger=DEBUG, Console ,File ,DailyRollingFile ,RollingFile#Consolelog4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console.layout.Convers原创 2020-05-12 12:39:30 · 1822 阅读 · 0 评论 -
业务驱动技术还是技术驱动业务
业务驱动技术 or 技术驱动业务如果自己做的是一个小的项目,就让业务驱动技术如果自己做的是一个大的项目,那就让技术驱动业务如果自己不能驱动业务,那就请拥抱业务变化吧。保持代码的整洁和可读性是代码的最基本的特征.除非为了程序的效率,降低这两点,其他情况不允许.参考:https://mp.weixin.qq.com/s?__biz=MzU0OTk3ODQ3Ng==&mi...原创 2019-12-10 13:50:33 · 2112 阅读 · 0 评论 -
逻辑思维 乒乓球比赛
乒乓球比赛,一共有200个乒乓球,两个人轮流拿,没人至少一个,最多6个1.胜利规则是拿光最后一个乒乓球为胜利者,你先拿球,保证自己稳赢,自己应该拿几个? 以10个乒乓球为例,先拿x%7个乒乓球,对手拿y个,自己拿7-y个,一直进行下去,自己拿到最后一个球,自己胜。2.胜利规则拿光桌上最后一个乒乓球为失败者,另外一个是胜利者,自己先拿。 以10个乒乓球为例,先拿(x-1)%7个乒乓...原创 2018-12-18 19:25:07 · 1043 阅读 · 0 评论 -
jar包安装到maven 仓库
https://www.cnblogs.com/zeng1994/p/7486330.html原创 2019-04-22 19:03:10 · 198 阅读 · 0 评论 -
maven 打包
springboot springboot 打包的命令: mvn package -Dmaven.test.skip=true原创 2019-04-02 15:11:09 · 196 阅读 · 0 评论 -
token
https://www.cnblogs.com/shihaiming/p/9565835.html参考资料:JWT:https://mp.weixin.qq.com/s?__biz=MzU2NTcwMTU0OQ==&mid=2247484571&idx=1&sn=44347ffe1e21677b78d386f2b3b4048a&chksm=fcb6fa59c...原创 2019-06-07 22:19:37 · 264 阅读 · 0 评论 -
easyExcel
https://blog.youkuaiyun.com/jiangjiandecsd/article/details/81115622https://github.com/alibaba/easyexcel原创 2019-06-07 00:06:54 · 1354 阅读 · 0 评论 -
前后端参数交互
https://blog.youkuaiyun.com/xishi66/article/details/88535762原创 2019-06-05 08:59:16 · 376 阅读 · 0 评论 -
java 读取excel表格
pom文件<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </d...原创 2019-04-19 19:31:43 · 215 阅读 · 0 评论 -
访问swagger的地址
http://127.0.0.1:8081/swagger-ui.html原创 2019-04-11 16:51:16 · 72424 阅读 · 0 评论 -
swagger2
https://zed058.cn/code/dev/springboot-05Swagger%E6%A1%86%E6%9E%B6.html#_1%E3%80%81%E6%B7%BB%E5%8A%A0%E4%BE%9D%E8%B5%96原创 2019-03-26 09:28:20 · 180 阅读 · 0 评论 -
申请单号 递增
1.数据库+锁 实现申请单号递增创建cp_serialcp_serial 存储 最大的申请单号CREATE TABLE `cp_serial` ( `id` int(11) NOT NULL AUTO_INCREMENT, `business_key` varchar(10) DEFAULT NULL COMMENT '业务的键', `num` varchar(4) DEFA...原创 2019-06-20 13:23:55 · 377 阅读 · 0 评论 -
java 生成八位的有序数字
https://blog.youkuaiyun.com/li_ya_fei/article/details/80284214原创 2019-05-05 14:23:40 · 2943 阅读 · 0 评论 -
guava 本地缓存
导入pom文件<!-- https://mvnrepository.com/artifact/com.google.guava/guava --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifa...原创 2019-02-14 17:23:53 · 392 阅读 · 1 评论 -
java 对象转化为map
1.利用fastjson 把对象转化为map<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifa...原创 2019-03-11 22:50:46 · 19186 阅读 · 1 评论 -
session 与cookie的区别
cookie:是访问某些网站在本地存储的一些访问信息,下次访问,减少一些步骤。是服务端保存在用户浏览器上的小文件session:存在服务端,用来保护用户信息的hashTablecookie与session的区别:1.cookie 在客户端 session在服务端2.cookie在客户端,安全性不高,可以被修改。session在服务端相对较安全。3.cookie存储的数据不能超...原创 2018-12-27 11:49:09 · 116 阅读 · 0 评论 -
静态代码块,构造代码块和构造方法的执行
静态代码块在类 static{}构造代码块 {} 在创建对象时被调用,每次创建对象都会调用一次,但是优先于构造函数执行子类构造函数执行,付调用super(),会优先执行父类的构造代码块,构造方法。class HelloA { public HelloA(){ System.out.println("helloA"); } { ...原创 2019-01-03 00:34:23 · 472 阅读 · 0 评论 -
面试 统计连续单词出现的个数
面试 统计连续单词出现的个数aaabbbcccaaddaa 对应的输出是: a3b3c3a2d2a2public static void main(String[] args) { String str="aaabbbcccaaddaa";// String str="abcdabcdaaabbbc"; String subStr =...原创 2019-01-02 19:44:38 · 200 阅读 · 0 评论 -
allatori代码混淆技术
注意事项:1.忽略启动类2.将Dao层和Entity类都不要混淆https://blog.youkuaiyun.com/u014795242/article/details/81204574https://www.jb51.net/article/135802.htm原创 2019-12-06 10:31:20 · 451 阅读 · 0 评论 -
Java 面试
Java 面试https://blog.youkuaiyun.com/xlgen157387/article/details/88051362原创 2019-05-26 14:34:46 · 133 阅读 · 0 评论 -
volatile与transient关键字的区别:
transient 被transient 修饰的字段不能被序列化volatile 被volatile修饰的变量,被不同的线程可以看到,解决线程可见性问题。原创 2018-12-29 12:04:36 · 354 阅读 · 0 评论 -
Thread,yield()
yield:是让步的意思Thread.yield() 让当前线程由执行状态转化为就绪状态。重新抢占线程,下一次可能是自己抢到了,也可能是别人抢到了。原创 2019-01-21 17:35:13 · 189 阅读 · 0 评论 -
guava 布隆过滤器去重
guava 布隆过滤器去重代码: @Test public void autoData7() throws InterruptedException { int size = 1000000; BloomFilter<Integer> bloomFilter = BloomFilter.create(Funnels.intege...原创 2019-11-01 19:41:59 · 519 阅读 · 0 评论 -
String 类为什么用final修饰
1.为了实现字符串池2.线程安全3.Hashcode 被缓存,不需要重新计算.这就是map中的键都使用string 作为键参考:https://www.jianshu.com/p/9c7f5daac283原创 2020-02-26 12:02:55 · 1324 阅读 · 0 评论 -
java Queue 队列
Java 队列的简单操作offer: 在队尾添加元素poll:删除对头的元素peek: 获取对头的元素LinkedList 实现了queue的接口public static void main(String[] args) { Queue<Integer> queue=new LinkedList<>();// 添加元素 offer que...原创 2018-11-30 12:02:36 · 274 阅读 · 0 评论 -
Java jvm 性能查看工具 jstat
jstat 官网: https://docs.oracle.com/javase/6/docs/technotes/tools/share/jstat.htmljstat 依赖jps 1.jps 查询进程号2.jstat 查看gc的使用情况jstat -gcutil 5235 1000 7S0:代表第一个幸存区S1:代表第二个幸存区E:代表伊甸园区O: 代表老年代...原创 2018-12-04 15:25:14 · 193 阅读 · 0 评论 -
java8 Stream的应用
统计所有单词的总个数和每个单词出现的次数使用了文件流,中间操作有常用的map,flatmap,filter,groupingby等。Java8 的Stream的简单应用1.txt 文件hello worldhello javahello tomhello lucylucy javalucy tom @Test public void getCount...原创 2018-11-29 00:21:18 · 290 阅读 · 0 评论 -
Fastjson 解析字符串
import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.TypeReference;import java.util.List;import java.util.Map;import java.util.Set;/** * Created by fuguowen on 2018/11/21 19:33 ...原创 2018-11-21 21:05:40 · 870 阅读 · 0 评论 -
netty 入门
EchoServer.javaimport io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;import io.netty.channel.ChannelInitializer;import io.netty.channel.ChannelOption;import io.netty.c...原创 2018-11-21 14:19:34 · 117 阅读 · 0 评论 -
java8 新特性
1、lambda 表达式和函数式接口 lambda表达式 参数列表->语句块 函数式接口:只有一个函数的及接口,被@FunctionalInterface 修饰的函数式函数式接口 ,可以隐式转换为lambda表达式 函数式接口的例子java.lang.Runnable和java.util.concurrent.Callable2.接口的默认方法和静态方法...原创 2018-12-25 22:48:15 · 170 阅读 · 0 评论 -
Java 接口超时 监控
https://www.cnblogs.com/sealedbook/p/6065343.htmlhttps://www.cnblogs.com/sealedbook/p/6065343.html原创 2019-04-04 22:56:32 · 811 阅读 · 0 评论 -
aop 反射获得方法名和参数
https://my.oschina.net/itblog/blog/211693原创 2019-04-05 11:38:25 · 1735 阅读 · 0 评论 -
springboot 2.0整合webservice
springboot 2.0整合webservicehttps://blog.youkuaiyun.com/chen_jia_hao/article/details/82388149原创 2019-05-10 12:21:47 · 728 阅读 · 0 评论 -
Java 产生短信验证码
Java 产生6位的验证码 /** * 产生6位数的随机验证码 * @return */ public static String generalRandomVeriCode(){ StringBuffer sb=new StringBuffer(); for(int i=0;i<6;i++){ ...原创 2019-05-25 16:51:02 · 262 阅读 · 0 评论 -
java 把一个对象中的属性映射到另一个属性中
https://www.cnblogs.com/gczmn/p/9855078.htmlBeanUtils.copyProperties(源对象, 目标对象);原创 2019-05-17 13:51:01 · 4204 阅读 · 0 评论 -
mongodb win10 安装
参考:https://www.jianshu.com/p/72d7494b58f5原创 2019-09-02 13:47:54 · 93 阅读 · 0 评论 -
Java8 日期与字符串之间的相互转化
/** * 把当前时间格式为指定格式 */@Testpublic void test5(){ //获得当前时间 LocalDateTime ldt = LocalDateTime.now(); System.out.println(ldt); DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy...原创 2018-08-05 15:39:12 · 35079 阅读 · 0 评论