Cpu运作原理与机制,那么CPU如何跑的更快? 前言代码都是由 CPU 跑起来的,我们代码写的好与坏就决定了 CPU 的执行效率,特别是在编写计算密集型的程序,更要注重 CPU 的执行效率,否则将会大大影响系统性能。CPU 内部嵌入了 CPU Cache(高速缓存),它的存储容量很小,但是离 CPU 核心很近,所以缓存的读写速度是极快的,那么如果 CPU 运算时,直接从 CPU Cache 读取数据,而不是从内存的话,运算速度就会很快。但是,大多数人不知道 CPU Cache 的运行机制,以至于不知道如何才能够写出能够配合 CPU Cache
常用正则表达式 (注:元字符包括\ | ( ) [ ] { } ^ $ * + ? . )匹配中文字符的正则表达式:[\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内):[^\x00-\xff]评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)匹配空白行的正则表达式:\s*\r评注:可以用来删除空白行匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</>|<..
相关性分析的五种方法 相关分析(Analysis of Correlation)是网站分析中经常使用的分析方法之一。通过对不同特征或数据间的关系进行分析,发现业务运营中的关键影响及驱动因素。并对业务的发展进行预测。本篇文章将介绍5种常用的分析方法。在开始介绍相关分析之前,需要特别说明的是相关关系不等于因果关系。相关分析的方法很多,初级的方法可以快速发现数据之间的关系,如正相关,负相关或不相关。中级的方法可以对数据间关系的强弱进行度量,如完全相关,不完全相关等。高级的方法可以将数据间的关系转化为模型,并通过模型对未来的业.
FactoryBean与BeanFactory 区别 BeanFactory是接口,提供了OC容器最基本的形式,给具体的IOC容器的实现提供了规范, FactoryBean也是接口,为IOC容器中Bean的实现提供了更加灵活的方式,FactoryBean在IOC容器的基础上给Bean的实现加上了一个简单工厂模式和装饰模式(如果想了解装饰模式参考:修饰者模式(装饰者模式,Decoration)我们可以在getObject()方法中灵活配置。其实在Spring源码中有很多FactoryBean的实现类.区别:BeanFacto...
阿里巴巴开源java诊断工具Arthas Arthas是Alibaba开源的Java诊断工具;核心功能 排查调用异常:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 类编译,获取线上实时运行代码:我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 增订类增加执行结果存日志/动态更新logger级别:遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? :线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! moni.
对象级别锁与类级别锁 同步针对的是多线程。同步的方法或代码块同时只能由一个线程执行。Java支持多线程来执行。这可能会导致两个或多个线程访问同一个字段或对象。同步是一个使所有并发执行的线程同步的过程。同步避免了由于共享内存视图不一致而导致的内存一致性错误。当一个方法被声明为同步时,如果一个线程正在执行同步方法,线程保存该方法对象的监视器(monitor),同时该线程被阻塞,直到该线程释放监视器(monitor)为止。同步在Java中使用synchronized关键字实现。可以在类中定义的方法或块使用同步关键字。关键字不能
Log日志规范 重点推荐阅读:https://www.jianshu.com/p/8551fe9c6354目前我用的两种方式。文章来源于公司的大牛1 Log的用途不管是使用何种编程语言,日志输出几乎无处不再。总结起来,日志大致有以下几种用途:l 问题追踪:通过日志不仅仅包括我们程序的一些bug,也可以在安装配置时,通过日志可以发现问题。l 状态监控:通过实时分析日志,可以监控系统的运行状态,做到早发现问题、早处理问题。l 安全审计:审计主要体现在安全上,通过对日志进行分析,可以发现是否存在非授权
Spring中有哪些扩展的地方 spring初始化的扩展点https://www.jianshu.com/p/397c15cbf34anvokeBeanFactoryPostProcessors(beanFactory)方法就是第一小节提到的BeanDefinitionRegistryPostProcessor和BeanFactoryPostProcessor的调用。invokeBeanFactoryPostProcessors方法的调用逻辑:如果beanFactory是BeanDefinitionRegistr.
classLoader双亲委托与类加载隔离 虽然前面把class文件的产生到加载使用流程说了一遍,但是还是想具体看看classLoader的双亲委托具体是如何运行的,有什么利弊。还有想看看不同类加载器的不同命名空间带来那些好处和实际有那些应用?并且想对ClassLoader加载类这个过程进行更加底层的了解,通过阅读源代码和自定义类加载器方式实践。双亲委托机制?还是先看看JVM中的类加载器层次结构如下:Bootstrap classLoader /\ /||\ Exte
运算工具类-Apache Math package com;import org.apache.commons.lang.math.Range;import org.apache.commons.lang3.StringUtils;import org.apache.commons.math3.stat.StatUtils;import org.apache.commons.math3.stat.descriptive.moment.StandardDeviation;import org.apache.commons.math.
参数解析,转换实现方案对比 java系统开发的时候,相信大家都需要获取当前登录用户,用来记录操作员、格式化日期参数、操作线程信息、分页配置信息、将数据信息驼峰与数据库命名方式进行转换等。 针对这种参数解析,我们有两种方案可采用:WebArgumentResolver和HandlerMethodArgumentResolver; 首先介绍一下会遇到的问题: 第一个问题:在配置文件中自定义的argument只有第一个有效,后面的参数都无效。相关的配置信息如下:...
Swagger自动生成API接口文档 spring-boot作为当前最为流行的Java web开发脚手架,相信越来越多的开发者会使用其来构建企业级的RESTFul API接口。这些接口不但会服务于传统的web端(b/s),也会服务于移动端。在实际开发过程中,这些接口还要提供给开发测试进行相关的白盒测试,那么势必存在如何在多人协作中共享和及时更新API开发接口文档的问题。假如你已经对传统的wiki文档共享方式所带来的弊端深恶痛绝,那么尝试一下Swagger2 方式,一定会让你有不一样的开发体验:功能丰富 :支持多种注解,自动生成接口文档界面
@Bean注解详解 转载自:https://www.cnblogs.com/cxuanBlog/p/11179439.html@Bean 注解全解析目录 @Bean 基础声明 @Bean 基本构成及其使用 @Bean 注解与其他注解产生的火花 @Profile 注解 @Scope 注解 @Lazy 注解 @DependsOn 注解 @Primary 注解 随着SpringBoot的流行,基于注解式开发的热潮逐渐覆盖了基于XML纯配置的开发,而作为...
POI操作excel基础用法详解 http://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/http://poi.apache.org/apidocs/org/apache/poi/ss/util/CellRangeAddress.htmlhttp://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFSheet.htmlhttp://poi.apache.org/apidocs/org/apache/poi
Http请求封装的三进阶 系统与系统之间的交互往往会使用到http请求,而我们发起http请求过程繁琐;因此我们需要对Http请求进行封装以方便使用;最近项目中接触到了一个经常被其他项目调用的项目主体,研究其演进架构,将其精髓记录下来 首先我们来看一看最原始的Http请求的代码书写/** * http请求第一个版本(直接发起Http请求) * * @author hzm ${2020-06-20 17:57} */public class Http { /** * http请...
Spring扩展接口之FactoryBean 是什么 FactoryBean的源码比较简单,大家可以细读下其注释,我做了简单的如下翻译/** * 实现此接口的bean不能用作普通bean。此bean暴露的对象是通过getObject()创建的对象,而不是它自身 */public interface FactoryBean<T> { /** * 返回此工厂管理的对象的实例(可能是共享的或独立的,取决于isSingleton()的返回值) */ @Nullable T getObj
设计模式-详解工厂模式 简单工厂模式:一个披萨店提供不同口味的披萨饼,披萨生产过程:原料准备、烘焙、切片、包装 1、将变化封装到工厂中,修改代码则修改工厂中的代码; 2、工厂可以生产多种产品,不局限于一种类型 3、给简单工厂提供静态方法,避免了实例化对象,也使得不能通过继承来改变创建方法的行为;public class SimplePizzeFactory{ public static Pizza createPizza(String type){ P...
MethodInterceptor实现自定义的AOP操作类 转载自:https://blog.csdn.net/u013905744/article/details/91364736今天遇到一个使用MethodInterceptor 的类,无法实现spring初始化,学习下这个方法的用法如果对于spring MethodInterceptor或spring aop概念不清楚,参考:spring aop, spring interceptor, springmvc interceptor有什么区别?以下是在spring boot环境下执行的在..