9 aa1215018028

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 4k+

Spring AOP 详解

1. 简介面向对象编程,也称为OOP(即Object Oriented Programming)最大的优点在于能够将业务模块进行封装,从而达到功能复用的目的。通过面向对象编程,不同的模板可以相互组装,从而实现更为复杂的业务模块,其结构形式可用下图表示:面向对象编程解决了业务模块的封装复用的问题,但是对于某些模块,其本身并不独属于摸个业务模块,而是根据不同的情况,贯穿于某几个或全部的模块之间的。例如登录验证,其只开放几个可以不用登录的接口给用户使用(一般登录使用拦截器...

2020-06-15 14:04:55

JDK1.8并发之synchronized和Lock

什么是线程安全? 线程安全是指保证多线程环境下共享的、可修改的状态的正确性。保证线程安全的两个办法: 封装:将对象的内部状态隐藏、保护起来。 不可变:final变量产生了某种程度地不可变(immutable)效果,可以用于保护只读数据。线程安全需要保证几个基本特性: 原子性:相关操作不会中途被其他线程干扰,一般通过同步机制实现。 可见性:一个线程修改了某个共享变量,其状态能够立即被其他线程知晓,通常被解释为将线程本地状态反映到主内存上,volatile就...

2020-05-21 23:32:27

Java线程池核心知识详解

  本文所说的“核心线程”、“非核心线程”是一个虚拟的概念,是为了方便描述而虚拟出来的概念,在代码中并没有哪个线程被标记为“核心线程”或“非核心线程”,所有线程都是一样的,只是当线程池中的线程多于指定的核心线程数量时,会将多出来的线程销毁掉,池中只保留指定个数的线程。那些被销毁的线程是随机的,可能是第一个创建的线程,也可能是最后一个创建的线程,或其它时候创建的线程。一开始我以为会有一些线程...

2020-01-06 19:54:20

Elasticsearch7 mapping和setting简介

一、介绍:一句话概述:es是基于lucene分片(shard)存储的近实时的分布式搜索引擎。名词解释:Lucene:使用java语言编写的存储与查询框架,通过组织文档与文本关系信息进行倒排索引,内部形成多个segment段进行存储,是es的核心组件,但不具备分布式能力。segment:Lucene内部最小的存储单元,也是es的最小存储单元,多个小segment可合为一个较大的seg...

2019-12-02 11:04:05

SpringBoot整合log4j2详细教程

首先,认识一下三胞胎log4j是apache实现的一个开源日志组件 logback同样是由log4j的作者设计完成的,拥有更好的特性,用来取代log4j的一个日志框架,是slf4j的原生实现 Log4j2是log4j 1.x和logback的改进版,据说采用了一些新技术(无锁异步、等等),使得日志的吞吐量、性能比log4j 1.x提高10倍,并解决了一些死锁的bug,而且配置更加简单灵活...

2019-10-28 16:50:46

java自定义线程池详细使用说明

前言线程池想必大家也都用过,JDK的Executors 也自带一些线程池。但是不知道大家有没有想过,如何才是最优雅的方式去使用过线程池吗? 生产环境要怎么去配置自己的线程池才是合理的呢?今天周末,刚好有时间来总结一下自己所认为的'优雅', 如有问题欢迎大家指正。线程池使用规则要使用好线程池,那么一定要遵循几个规则:线程个数大小的设置 线程池相关参数配置 利用Hook嵌入你的行...

2019-10-25 15:26:28

log4j2日志配置说明

在项目推进中,如果说第一件事是搭Spring框架的话,那么第二件事情就是在Sring基础上搭建日志框架,我想很多人都知道日志对于一个项目的重要性,尤其是线上Web项目,因为日志可能是我们了解应用如何执行的唯一方式。在18年大环境下,更多的企业使用Springboot和Springcloud来搭建他们的企业微服务项目,此篇文章是博主在实践中用Springboot整合log4j2日志的总结。...

2019-10-24 20:57:47

EnumSet基本用法

EnumSet基本用法enum Season { SPRING, SUMMER, FALL, WINTER}public class EnumSetTest { public static void main(String[] args) { //创建一个EnumSet集合,集合元素就是Season枚举类的全部枚举值 EnumSet ...

2019-10-17 12:07:29

Java8 map合并新姿势

1. 介绍本入门教程将介绍Java8中如何合并两个map。更具体说来,我们将研究不同的合并方案,包括Map含有重复元素的情况。2. 初始化我们定义两个map实例 private static Map<String, Employee> map1 = new HashMap<>(); private static Map<Str...

2019-09-20 11:42:45

RunTime.getRunTime().addShutdownHook优雅关闭线程池

有时候我们用到的程序不一定总是在JVM里面驻守,可能调用完就不用了,释放资源.RunTime.getRunTime().addShutdownHook的作用就是在JVM销毁前执行的一个线程.当然这个线程依然要自己写.利用这个性质,如果我们之前定义了一系列的线程池供程序本身使用,那么就可以在这个最后执行的线程中把这些线程池优雅的关闭掉.比如我们定义了一个线程池private Exe...

2019-09-16 18:50:24

Java 程序员常用资源工具集合(建议收藏)

搜索资源网站学习技术过程我们经常需要使用搜索引擎来检索资料,国内常用的也就是某度了。当然有条件的话,搜索引擎首先还是推荐使用 Google,如果没办法使用,可以使用以下几个作为备用:BingBing 国际版:https://cn.bing.com/比某度好用,之前还被停用了几天,最近可以了。DuckDuckGoDuckDuckGo:https://duckduckgo....

2019-09-10 16:15:18

Hbase java API详解

一、几个主要 Hbase API 类和数据模型之间的对应关系:1、 HBaseAdmin关系: org.apache.hadoop.hbase.client.HBaseAdmin作用:提供了一个接口来管理 HBase 数据库的表信息。它提供的方法包括:创建表,删除表,列出表项,使表有效或无效,以及添加或删除表列族成员等。2、 HBaseConfiguration关系: org...

2019-08-31 12:23:50

揭秘阿里百亿级云客服实时分析架构演进之路

淘宝、天猫每天有上亿个不同的买卖家进行对话,产生百亿条聊天记录。对客服聊天记录的实时分析是实现智能客服的基础。本文主要分享云客服的整体架构,包括实时分析的场景、架构、技术难点,以及为何要从 NoSQL 迁移时序数据库和使用心得。网购催生客服职能转型如下图,是国内客服体系发展历程。国内客服体系经历了传统客服、Web 端客户和云客服三个发展阶段。传统客服以呼叫中心为主,主要以电话...

2019-08-28 10:15:27

Kafka数据到Hdfs

找时间总结整理了下数据从Kafka到Hdfs的一些pipeline,如下1> Kafka -> Flume –> Hadoop Hdfs常用方案,基于配置,需要注意hdfs小文件性能等问题.GitHub地址:https://github.com/apache/flume2> Kafka -> Kafka Hadoop Loader ->Had...

2019-08-23 11:03:55

hive读取Hbase的数据

1、文档(不会的直接找文档最方便)HBaseIntegration2、拷贝jar文件2.1 将Hbase/bin目录下面文件拷贝到Hive/bin目录下 cd /home/hbase/lib cp ./* /home/hive/lib 2.2把Hive的lib目录下面的hive-hbase-handler-0.13.1.jar拷贝到Hbase的li...

2019-08-22 20:10:14

Hive学习实例

正文一、求单月访问次数和总访问次数1、数据说明数据字段说明用户名,月份,访问次数数据格式A,2015-01,5A,2015-01,15B,2015-01,5A,2015-01,8B,2015-01,25A,2015-01,5A,2015-02,4A,2015-02,6B,2015-02,10B,2015-02,5A,2015-03,16A,...

2019-08-20 17:06:15

mysql视图和临时表的区别

视图视图是由从数据库的基本表中选出来的数据组成的逻辑窗口,它与基本表不同的是,视图是一个虚表。数据库中只存放视图的定义,而不存放视图包含的数据,这些数据仍存放在原来的基表中。所以基表中的数据如果发生改变,从视图中查询出的数据也随之改变。视图是一个虚表,他是通过执行SQL查询所产生的。视图以select命名存储于数据字典当中。每当SQL查询包含有视图名称的时候,数据库管理系统会执行在视图定义...

2019-08-20 14:35:58

Elasticsearch:跨集群数据迁移之离线迁移

跨集群数据迁移用户在腾讯云上自建的ES集群或者在其它云厂商购买的ES集群,如果要迁移至腾讯云ES,用户可以根据自己的业务需要选择适合自己的迁移方案。如果业务可以停服或者可以暂停写操作,可以参考离线迁移的四种方案。离线迁移离线迁移需要先停止老集群的写操作,将数据迁移完毕后在新集群上进行读写操作。适合于业务可以停服的场景。离线迁移大概有以下几种方式:elasticsearch-dum...

2019-08-13 10:48:27

HashMap哈希算法引出的求余%和与运算&转换问题

1、引出问题  在前面讲解HashMap 的源码实现时,有如下几点:  ①、初始容量为 1<<4,也就是24 = 16    ②、负载因子是0.75,当存入HashMap的元素占比超过整个容量的75%时,进行扩容,而且在不超过int类型的范围时,进行2次幂的扩展(指长度扩为原来2倍)    扩大一倍    ③、新添加一个元素时,计算这个元素在H...

2019-08-06 10:34:36

Mqtt Qos 深度解读

1.QoS含义 :Quality of Service,服务质量2.作用域发布者的Qos订阅者的Qos3.等级与作用level 0:最多一次的传输level 1:至少一次的传输,(鸡肋)level 2: 只有一次的传输4.交互过程qos0对于qos1而言,对于client而言,有且仅发一次publish包,对于broker而言,有且仅发一次publish,简而...

2019-08-05 18:19:39

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。