自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (1)
  • 收藏
  • 关注

原创 分布式锁-redison

分布式锁-redison为了提高高并发,可以采用分段的分布式锁,比如商品的前100个使用一个分段分布式锁,后面100依次类似,类似correnthashmap高并发为了解决读写数据库和缓存不一致,可以将(写数据库,更新缓存)使用一个分布式锁原子性锁定来解决...

2021-02-12 17:17:58 297

原创 事务启动bean的处理(Propagation.REQUIRES_NEW不生效的原因)

继续进入在创建代理对象时传递了目标对象taget,在用cglib创建代理对象时,仍传过去了target最终返回的enhancer代理对象,如下图示,仍含有目标对象taget实例(这就解释了目标对象的自我调用 Propagation.REQUIRES_NEW 不会起作用的)首先调用的是AOP代理对象而不是目标对象,首先执行事务切面,事务切面内部通过TransactionInterceptor环绕增强进行事务的增强,即进入目标方法之前开启事务,退出目标方法时...

2020-05-13 14:36:39 1721

原创 NIO的零拷贝

java中零拷贝有2种(零拷贝是指没有CPU拷贝)1,mmap(内存映射)2,sendfile传统IO数据读写;File file = new File("test.txt");RandomAccessFile raf = new RandomAccessFile(file, "rw");byte[] arr = new byte[(int) file.length()];...

2020-04-23 16:22:56 856

原创 spring小结---bean循环依赖

// Eagerly cache singletons to be able to resolve circular references// even when triggered by lifecycle interfaces like BeanFactoryAware.boolean earlySingletonExposure = (mbd.isSingleton() &&a...

2020-04-12 20:36:31 307

原创 spring小结--只有一个参数的有参的构造函数的bean实例化

上一节讲到了无参构造函数的实例化bean,这节介绍只有一个有参的构造函数的bean实例化,以@Component("lmqsthird")public class LmqDao23456 { public LmqDao23456(LmqDao2 lmq) { } public void updatesecondquery() { ...

2020-04-12 20:29:28 3212

原创 spring小结---bean实例化

上节讲到aop,继续介绍bean的实例化过程,finishBeanFactoryInitialization(beanFactory);此方法:................ // Stop using the temporary ClassLoader for type matching. beanFactory.setTempClassLoader(null)...

2020-04-10 22:47:45 249

原创 spring小结---AOP源码分析

ConfigurableListableBeanFactory beanFactory = obtainFreshBeanFactory();// Prepare the bean factory for use in this context.prepareBeanFactory(beanFactory);try { // Allows post-processing of t...

2020-04-07 22:11:21 132

原创 spring小结

beanPostProcessor: 插手bean实例化过程,实例化之后,工作在bean实例被放在spring的容器之前,例如@PostConstruct, AOPBeanFactoryPostProcessor: 在bean实例化之前执行,针对beanfactory操作,进行类bd 管理操作,例如configclasspostprocesor对appfig进行cglib代理,生成代理类...

2020-04-05 15:39:10 111

原创 spring小结(6)-细看@Configuration的appconfig代理类

之前提过@Configuration的appconfig会被cglib代理,生存代理类,然后是对象,在进行含有@Bean方法调用进项1拦截,这里需要细看详细的代理类和拦截细节

2020-04-04 22:48:19 751

原创 spring小结-bean初始

在Refresh()具体看下 postProcessBeanFactory ConfigurationClassPostProcessorpublic void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) { int factoryId = System.identityHa...

2020-04-02 22:32:53 153

原创 spring小结(5)---继续@Configuration

上节提到@Configuration的cglib,假设将confi类的方法配置为static,会输出2次@Configuration@ComponentScan("com.lmq.BaseService")//@Import(MyImportBeanDefinitionRegistrar.class)@Import(MyImportSelector.class)public class...

2020-04-01 20:54:52 159

原创 spring小结(4)--invokeBeanFactoryPostProcessors(regularPostProcessors, beanFactory);

承接上一小节,介绍invokeBeanFactoryPostProcessors(regularPostProcessors, beanFactory);//回调实现BeanFactoryPostProcessor的实现类,目前默认加载的processor有ConfigurationClassPostProcessor,public class ConfigurationClass...

2020-03-29 16:24:51 620

原创 spring小结(3)-@Configuration

之前介绍 ConfigurationClassPostProcessor时很关键的类,解析@Configuration的类public class ConfigurationClassPostProcessor implements BeanDefinitionRegistryPostProcessor, PriorityOrdered, ResourceLoaderAware,...

2020-03-22 20:50:17 107

原创 spring小结(2)----ImportBeanDefinitionRegistrar

上一节主要说了bean注册流程,下面再补充介绍其中关键的流程再解析有@Config主机类时,也会处理@import@Configuration@ComponentScan("com.lmq.BaseService")@Import("实现ImportBeanDefinitionRegistrar接口的类") //也可以是normal类,importSelectpublic...

2020-03-20 21:47:31 413

原创 spring小结

1,factorybean与beanfactoryfactorybaen本身是一个bean,是由spring管理,要通过注入或者配置,由spring管理,在beanfactory存放,factorybaen里面有getobject(),getType方法,其中getobject可以获取2种对象,getobject(&name)从beanfactory获取factorybean自身对象,...

2020-03-04 22:06:02 248

原创 spring-mybatis与mybatis区别

1,spring-mybatis一级缓存失效,因为是sqlsesstionTemplate,其使用了一个代理proxysession,每次请求都会关闭session;public SqlSessionTemplate(SqlSessionFactory sqlSessionFactory, ExecutorType executorType, PersistenceExceptionTran...

2020-03-01 15:11:24 2497 1

原创 LeetCode 1235. Maximum Profit in Job Scheduling

//dp+二分 int n = startTime.size(); vector<vector<int>> jobs(n); for (int i = 0; i < n; i++) { jobs[i].push_back(startTime[i]); jobs[i].pu...

2019-11-11 16:10:28 191

翻译 java UTC->local

public String utcToLocal1(String utcTime) { String datstr=""; try { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); df.setTimeZone(TimeZone.getTimeZo...

2019-11-05 15:47:43 86

原创 RabbitMq springboot 启动及消费者消费消息源码分析

首先这是application的启动在加载postprocessor时加载其他加载bean省略这里介绍与rabbitmq相关的。。。。。还有自定义的beanwanle完了后接着扫描注解,动态代理创建了mqadmin开始注册监听器扫描组件有线程了开始创建线程池...

2019-09-07 22:03:41 770

原创 kafka 消费者分区rebalance

比如RangeAssignor extends AbstractPartitionAssignor在AbstractPartitionAssignorpublic Map<String, Assignment> assign(Cluster metadata, Map<String, Subscription> subscriptions) { Se...

2019-07-25 11:41:19 404 1

转载 239. Sliding Window Maximum

滑动k-窗口最大值,考虑使用最大堆,java中优先级队列PriorityQueue是最小堆实现,可以借助实现,关于 PriorityQueue可查其他资料。class Solution { public int[] maxSlidingWindow(int[] nums, int k) { if (k<=0) return new int[0]; ...

2019-06-18 14:20:44 62

转载 72. Edit Distance leetcode

Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.)You have the following 3 operations permitted on a word:...

2019-06-05 17:46:28 85

原创 leetcode-80. Remove Duplicates from Sorted Array II

Given a sorted arraynums, remove the duplicatesin-placesuch that duplicates appeared at mosttwiceand return the new length.Do not allocate extra space for another array, you must do this bymod...

2019-06-04 10:12:06 80

原创 redis 源码分析---通信模块之服务端处理socket连接

gdb redis-server, gdb调试,首先打断点,处理连接,需要找到对应函数,打上断点在 anet.c 文件中找到 anetGenericAccept 函数,输入:b anetGenericAccept接着重新运行redis-server, 发现server运行起来后,并没有进入该断点,原因是还没有redis-cli发起连接,这里再打开一个 redis-cli,连接...

2019-04-23 20:38:42 370

原创 多线程交替打印数字1,2,3....n ,第i个线程打印i, lock 信号量实现

public class MainThread { public static ReentrantLock lock=new ReentrantLock(); public static void main(String[] args) throws Exception { ArrayList<Thread> list=new ArrayList...

2019-04-20 20:28:59 702

原创 java泛型使用介绍

123,泛型方法类不需要是泛型类,例子public class mainTest { public <T> void f(T x){ System.out.println(x.getClass().getName()); } public static void main(String []args) { ...

2019-04-02 11:27:14 305

翻译 javaassist 创建类

创建一个类,测试,import javassist.CannotCompileException;import javassist.ClassPool;import javassist.CtClass;import javassist.CtMethod;import javassist.LoaderClassPath;import javassist.NotFoundExceptio...

2019-03-07 12:49:14 512

原创 springboot启动流程之bean注册-源码分析(1)

1,断点进入主程序2,初始化组件其中实例化组件时,使用反射,如下图示初始完组建后,接着是application的run方法在上面过程中,进入context = this.createApplicationContext();进入,默认创建一个AnnotationConfigServletWebServerApplicationContext实例...

2019-02-23 22:54:08 710

原创 spring- 基于注解annotions的AOP源码流程整体分析

//本文例子省略,写个aspect,为某个方法增强注入即可,图后面会加上  AOP:【动态代理】          指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式;    1、导入aop模块;Spring AOP:(spring-aspects)  2、定义一个业务逻辑类(mathCalculator);在业务逻辑运行的时候将日志进行打印(方法之前、方法运行结束...

2019-02-17 20:02:06 235

原创 jamvm的浅显认识

分为几个模块1,class对象的认识//待续2,anno的认识:首先初始化一些注解map,static int initAnnotation() {    Class *enum_cls, *map_cls, *anno_inv_cls, *obj_ary_cls;    Class *anno_ary_cls, *dbl_anno_ary_cl

2017-11-01 16:47:18 1230

原创 Ambari 与hdp 集群搭建教程

Ambari 与hdp 集群搭建教程集群环境os为centos6.8 server 1,各个节点进行:网络(静态IP)配制(192.168.10.30master8g192.168.10.31slave18g192.168.10.32Slave28g

2017-03-10 18:01:58 4841

坦克游戏java实现源代码

java实现的坦克小游戏,编译通过,可以运行,包括,只需再相应目录中添加图片即可

2014-05-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除