
java
文章平均质量分 92
酒醉梦醒
JAVA
展开
-
关于ThreadLocal你要知道的一切
ThreadLocal是线程本地变量,可以应用在分布式系统追踪,事务管理方面,这里先提出几个较难的问题ThreadLocal的内部大致实现原理?ThreadLocal的Entry的key为何设计成弱引用?ThreadLocal的hash碰撞是如何处理的?ThreadLocal如何处理主线程传值到子线程?如何让子线程跟随主线程tl值变化而变化?线程池中使用threadLocal如何保持不变?阿里TransmittableThreadLocal?ThreadLocal的内部大致实现原理?T原创 2021-05-01 20:42:21 · 651 阅读 · 1 评论 -
双拦截链+aop实现智能参数检查
文章目录双拦截链+aop实现智能参数检查注解类aspecthandler用法双拦截链+aop实现智能参数检查注解类@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.PARAMETER,ElementType.FIELD})@Documentedpublic @interface CheckEmail { String msg() default "email format invalid";}@Target({Eleme原创 2020-06-19 16:30:52 · 413 阅读 · 0 评论 -
java Synthetic
java Synthetics/** * @author:刘仁有 * @desc: isSynthetic 是为了解决私有变量只能本类访问和外部类可以访问内部类的私有变量的矛盾产生的 * 我们手写的都是false,jvm虚拟机产生的是true(合成的) * @email:953506233@qq.com * @data:2019/12/4 */public class TestSy...原创 2019-12-04 12:51:25 · 457 阅读 · 0 评论 -
java线程面试题
java线程面试题在典型的Java面试中, 面试官会从线程的基本概念问起, 如:为什么你需要使用线程, 如何创建线程,用什么方式创建线程比较好(比如:继承thread类还是调用Runnable接口),然后逐渐问到并发问题像在Java并发编程的过程中遇到了什么挑战,Java内存模型,JDK1.5引入了哪些更高阶的并发工具,并发编程常用的设计模式,经典多线程问题如生产者消费者,哲学家就餐,读写转载 2017-05-30 03:57:05 · 1242 阅读 · 0 评论 -
java线程高并发编程
java线程详解及高并发编程庖丁解牛线程概述:祖宗:说起java高并发编程,就不得不提起一位老先生Doug Lea,这位老先生可不得了,看看百度百科对他的评价,一点也不为过:如果IT的历史,是以人为主体串接起来的话,那么肯定少不了Doug Lea。这个鼻梁挂着眼镜,留着德王威廉二世的胡子,脸上永远挂着谦逊腼腆笑容,服务于纽约州立大学Oswego分校计算机科学系的老大原创 2017-05-29 23:49:12 · 8717 阅读 · 7 评论 -
8大基本数据类型及其包装类总结
//boolean(JVM规范中,boolean变量作为int处理,也就是4字节;boolean数组当做byte数组处理。) byte1 short2 char2 int4 float4 double8 long8// 在Java编译器中,把原始类型(8种)自动转换为封装类的过程,称为自动装箱,相当于valueOf方法。// 对于当下32位的处理器(CPU)来说,一原创 2017-10-13 15:25:27 · 1663 阅读 · 0 评论 -
java回调例子
public class Start{ interface OnClickListener { void onClick(); } class Button{ public void setOnClickListener(OnClickListener l) { l.onClick();//通过这个回掉给设置监听器的地方 } } public static voi...原创 2019-04-23 11:55:39 · 377 阅读 · 0 评论 -
dubbo透传traceId链路追踪
dubbo透传traceId链路追踪文章简介dubbo的配置,filter的使用,自动透传traceId链路追踪,threadLocal的理解使用,优雅的代码,不乱传参。。。工程结构maven搭建环境:dubbo: 顶级项目,做parentinterface: 提供接口支持,工具支持,filter支持。。。web:消费者service:生产者web和service都依赖inter...原创 2019-06-20 12:40:36 · 3525 阅读 · 0 评论 -
多线程几个有趣案例分析
多线程几个有趣案例分析主线程开子线程 boolean flag=true; public static void main(String[] args) throws InterruptedException { TestThread t = new TestThread(); t.start();//开子线程 1 t.flag = fa...原创 2019-07-08 10:49:46 · 774 阅读 · 0 评论 -
剑指spring源码(一)
文章目录剑指spring源码(一)入口第一行代码this()第二行代码register(annotatedClasses)剑指spring源码(一)入口配置类 @ComponentScan("com.lry") @Configuration public class AppConfig { }入口类 AnnotationConfigApplicationContex...原创 2019-07-13 16:20:04 · 885 阅读 · 2 评论 -
线程中断
文章目录线程中断前言interrupted,isInterrupted,interrupt测试interrupted如何优雅的停止线程方案一:volatile方案二:利用中断线程中断前言一直对java线程的中断有点模糊的感觉,决心要弄清楚。interrupted,isInterrupted,interrupt Thread.interrupted();//清除中断标志,并返回清除前的值...原创 2019-07-15 16:51:25 · 401 阅读 · 0 评论 -
剑指spring源码(二)补充篇之ImportSelector
文章目录剑指spring源码(二)补充篇之ImportSelectorImportSelector例子源码解析剑指spring源码(二)补充篇之ImportSelectorImportSelector例子配置类@ComponentScan("com.lry")@Configuration//加了全配置注解会被cglib增强@Import(MyImportSelector.class)...原创 2019-07-23 19:30:35 · 416 阅读 · 0 评论 -
剑指spring源码(二)补充篇之ImportBeanDefinitionRegistrar
文章目录剑指spring源码(二)补充篇之ImportBeanDefinitionRegistrar例子源码mybatis如何利用ImportBeanDefinitionRegistrar优雅支持spring剑指spring源码(二)补充篇之ImportBeanDefinitionRegistrar例子TODO源码mybatis如何利用ImportBeanDefinitionRegist...原创 2019-07-23 19:36:57 · 1698 阅读 · 1 评论 -
JAVA海报制作
文章目录JAVA海报制作前言效果图代码JAVA海报制作前言最近一直在忙着做小程序的分享盆友圈,分享朋友和群,好物推荐,好物圈等等推广方面的事情。有大概一个礼拜没有更博客了。就想着写一篇关于海报制作方面的博客。关于分享朋友圈这个功能,我刚开始的想法是后台用代码画一张海报出来,然后上传到云服务器返回url,我就想着图片url都有了,微信应该有提供接口可以把这张图分享到盆友圈吧,可是后面海报画出来...原创 2019-08-02 15:39:22 · 1429 阅读 · 0 评论 -
借鉴bio的不足思考nio
文章目录借鉴bio的不足思考niobio和nio?bio的例子及其思考nio单线程多连接借鉴bio的不足思考niobio和nio?bio是阻塞io,accept接受连接是阻塞方法,read读取数据也是阻塞方法。nio是非阻塞io,可以通过channel.configureBlocking(false);来设置为非阻塞。bio的例子及其思考bio写的服务器代码如下: public st...原创 2019-08-08 17:56:08 · 414 阅读 · 0 评论 -
面试中关于Java你所需知道的的一切
面试中关于Java你所需知道的的一切 来源:极客头条本篇文章会对面试中常遇到的Java技术点进行全面深入的总结,帮助我们在面试中更加得心应手,不参加面试的同学也能够借此机会梳理一下自己的知识体系,进行查漏补缺。1. Java中的原始数据类型都有哪些,它们的大小及对应的封装类是什么?(1)boolean boolean数据类型非true即false。这个数据类型表转载 2017-05-30 04:12:36 · 2123 阅读 · 0 评论 -
java中你所不知道的'=='
java中你所不知道的'=='再谈这个问题之前,我们先聊一聊java的8大原始数据类型:(1)boolean——1 bit——Boolean(2)byte——1 byte——Byte(3)short——2 bytes——Short(4)int——4 bytes——Integer(5)long——8 bytes——Long(6)float——4 bytes——Fl原创 2017-05-30 04:43:10 · 970 阅读 · 0 评论 -
java关键字valatile超详细解析
java关键字valatile超详细解析花点时间看看,帮助不是一点点。。。一、Java内存模型想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的。Java内存模型规定了所有的变量都存储在主内存中。每条线程中还有自己的工作内存,线程的工作内存中保存了被该线程所使用到的变量(这些变量是从主内存中拷贝而来)。线程对变量的所有操作(读取转载 2017-05-30 05:13:25 · 2713 阅读 · 1 评论 -
关于java的一些易错知识
1:Student stu=new Student();等号左边是创建类时等号右边是创建对象时创建类时代码执行顺序:静态属性只加载不执行->静态块加载并执行->静态方法只加载不执行(静态的东西只加载一次)创建对象时代码执行顺序:一般属性只加载不执行->代码块加载并执行->普通方法加载不执行(非静态的可加载多次)exe:package 易错;原创 2016-03-21 14:46:43 · 816 阅读 · 0 评论 -
java 抽奖软件
package Lottery;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.util.Random;im原创 2015-12-18 16:50:10 · 1891 阅读 · 2 评论 -
Java IO
1.File类是java.io包下代表与平台无关的文件和目录,在程序里操控文件或者目录,都可以通过File类来完成,File可以新建,删除,重命名,文件或目录,但是不能访问文件本身内容。如果需要访问文件本身,则需要使用输入输出流.File类提供了很多方法来操作文件或目录。访问文件名的部分方法:String getName();返回File对象所表示的文件名或路径名(如果是路径,则返回最原创 2015-12-13 18:15:11 · 799 阅读 · 0 评论 -
浅谈面向对象(java)
面向对象有对象,类,抽象类,接口等概念,还有封装,继承,多态等特征。对象是一样具体的东西,一个人,一件事等都可以称为是对象,因此对象是一样具体的东西。类是抽象的东西,抽象类比类更抽象,而接口是比抽象类更抽象的东西。类是什么?比如说人类,狗类,是指一类事物,对象又是这一类是物理的一个具体的东西。例:class A{public void study(){ }}这就原创 2015-12-03 21:45:31 · 832 阅读 · 0 评论 -
java简单五子棋源代码
package com.renyou;import java.awt.Color;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Graphics;import java.awt.event.ActionEvent;import java.awt.event.ActionLis原创 2015-12-01 12:48:09 · 20451 阅读 · 0 评论 -
java代码块执行顺序
public class ClassInitializatin { public ClassInitializatin(){ System.out.println("构造器"); } static {//类的初始化 System.out.println("静态块"); } { System.out.println("代码块"); } public static voi原创 2017-06-17 16:47:45 · 732 阅读 · 0 评论 -
大牛
java源码分析的很透彻原创 2017-10-25 18:09:11 · 627 阅读 · 0 评论 -
在windows上面搭建git远程仓库
如何在windows搭建git远程仓库:结合两篇博客:http://blog.youkuaiyun.com/d780793370/article/details/72863366http://blog.youkuaiyun.com/aaron_luchen/article/details/10498181主要是看第一篇博客搭建的,第二篇博客这两句话特别重要1、将Git安装目录D:\Program Fi原创 2017-10-25 18:04:59 · 3056 阅读 · 1 评论 -
java后台开发面试题大全
ThreadLocal(线程变量副本)Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量。采用空间换时间,它用于线程间的数据隔离,为每一个使用该变量的线程提供一个副本,每个线程都可以独立地改变自己的副本,而不会和其他线程的副本冲突。ThreadLocal类中维护一个Map,用于存储每一个线程的变量副本,Map中元素的键为线程对象,而值为对应线程的变量转载 2017-10-24 11:40:03 · 773 阅读 · 1 评论 -
面经总结
一、操作系统1. 介绍一下信号量和互斥锁信号量是非负数,只有两个操作wait,signal 互斥量是0,1,只能用于一个资源的互斥访问 互斥量用于线程的互斥,信号线用于线程的同步。 有人做过如下类比: Mutex是一把钥匙,一个人拿了就可进入一个房间,出来的时候把钥匙交给队列的第一个,一般的用法是用于串行化对临界区代码的访问,保证这段代码不会被并行的运行。 Semaph转载 2017-10-24 11:35:35 · 859 阅读 · 0 评论 -
java 模仿原版坦克大战
2015年的年底,花了四天的时间写了个坦克大战小游戏,界面和原版非常像,但是功能还略显不足。不多说了,直接上代码吧!1:第一个类,窗体类。package tankwar.copy;import java.applet.Applet;import java.applet.AudioClip;import java.io.File;import javax.原创 2016-03-11 17:01:48 · 1326 阅读 · 0 评论