02 2019 档案
摘要:java中的集合有两种形式Collection<E>,Map<K,V> Collection类型集合 在JAVA7中遍历有一下几种方式:List<String> list = Arrays.asList("aaaa","bbbb");//for循环for (int i=0;i< list.size(
阅读全文
摘要:高并发分两种方向:流量跟事务;(负载均衡、分流、消息队列排队、降级、熔断) 在高并发场景下,处理流量和事务是两个关键方向,而负载均衡、分流、消息队列排队、降级、熔断这些技术手段能有效应对高并发带来的挑战。以下为你详细解释这些技术,并举例说明。 流量处理相关技术 负载均衡 原理:将大量的请求均匀地分配
阅读全文
摘要:JAVA NIO vs IO 当我们学习了Java NIO和IO后,我们很快就会思考一个问题: 什么时候应该使用IO,什么时候我应该使用NIO 在下文中我会尝试用例子阐述java NIO 和IO的区别,以及它们对你的设计会有什么影响 Java NIO和IO的主要区别 IO NIO 面向Stream
阅读全文
摘要:import java.io.IOException;import java.nio.charset.Charset;import java.nio.file.Files;import java.nio.file.Paths;import java.util.Arrays;import java.u
阅读全文
摘要:查询表的首句:(Oracle) select * from (select a.*, rownum as rn from tab_name a order by col )where rn = 1 or select * from tab_name where rownum = 1 sqlserve
阅读全文
摘要:浏览器是多进程的,有一个主控进程,以及每一个tab页面都会新开一个进程(某些情况下多个tab会合并进程)。 进程可能包括主控进程,插件进程,GPU,tab页(浏览器内核)等等。 Browser进程:浏览器的主进程(负责协调、主控),只有一个 第三方插件进程:每种类型的插件对应一个进程,仅当使用该插件
阅读全文
摘要:开始前,请确认gcc g++开发类库是否装好,默认已经安装。 ububtu平台编译环境可以使用以下指令 centos平台编译环境使用如下指令 安装make: 安装g++: 下面正式开始: 一、选定安装文件目录 可以选择任何目录,本文选择 cd /usr/local/src 1 cd /usr/loc
阅读全文
摘要:序章 Atlas是360团队弄出来的一套基于MySQL-Proxy基础之上的代理,修改了MySQL-Proxy的一些BUG,并且优化了很多东西。而且安装方便。 Atlas官方链接: https://github.com/Qihoo360/Atlas/blob/master/README_ZH.md
阅读全文
摘要:在过去持续分享的几十期阿里Java面试题中,几乎每次都会问到Dubbo相关问题,比如:“如何从0到1设计一个Dubbo的RPC框架”,这个问题主要考察以下几个方面: 你对RPC框架的底层原理掌握程度。考验你的整体RPC框架系统设计能力。 具体,mike来为大家详解。 RPC和RPC框架 1.RPC(
阅读全文
摘要:想成为一名架构师,但是架构师对应的技能,我应该掌握哪些啊?以及掌握的程度是什么样的?如何成为一名真正的实战性架构师? 我简要分为以下7点来谈谈,从技能的角度抛砖引玉,希望你对你架构师之路有一定的参考。 编程基本功:数据结构和算法 如果你一直关注,会发现我之前分享的阿里面试题系列,有许多关于算法内容,
阅读全文
摘要:Java数据结构中常用的数据结构包含如下8种:1:数组(Array)2:栈(Stack)3:队列(Queue)4:链表(LinkedList)5:树(Tree)6:哈希表(Hash)7:堆(Heap)8:图(Graph)这几个搞定对后期的发展非常有帮助,在此我用图给大家展示一下: 在此我也翻阅了很多
阅读全文
摘要:java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the
阅读全文
摘要:本文是根据源码进行学习的,如果我有什么理解不对的地方请多指正,谢谢您 上面基本就是List集合类的类图关系了,图中省略掉了比如Cloneable等标记接口,那么List分别具体的主要实现类有:ArrayList,Vector,LinkedList,Stack,那么这篇文章会对这四个实现类进行介绍(由
阅读全文
摘要:Java8 新增了非常多的特性 1、Lambda 表达式 Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中)。lambda 表达式只能引用标记了 final 的外层局部变量,这就是说不能在 lambda 内部修改定义在域外的局部变量,否则会编译错误 2、方法引用(方法引用使用一对冒
阅读全文
摘要:记一次JVM调优 高级程序员必不可少的技能,这个也是高薪必问的问题 能够有效通过 JVM 调优提升系统性能的人往往被人们冠以”大牛”、”大师”之类的称呼。 过程 这一步gceasy.io网站上,直接就给了提示,增加metaspace的大小,在参数设置中,我们没有看到设置metaspace,那么下面一
阅读全文
摘要:JAVA堆内存管理是影响性能主要因素之一。堆内存溢出是JAVA项目非常常见的故障,在解决该问题之前,必须先了解下JAVA堆内存是怎么工作的。 先看下JAVA堆内存是如何划分的,如图: 在JDK1.8版本废弃了永久代,替代的是元空间(MetaSpace),元空间与永久代上类似,都是方法区的实现,他们最
阅读全文
摘要:SpringBoot原则是约定优于配置,简化spring应用开发,去繁从简,产品级别的应用。 SpringBoot有哪些优点1、快速创建独立运行的spring项目与主流框架集成 2、使用嵌入式的servlet容器,应用无需打包成war包 3、starters自动依赖与版本控制 4、大量的自动配置,简
阅读全文
摘要:Spring的事件为Bean与Bean之间的通信提供了支持,当我们系统中某个Spring管理的Bean处理完某件事后,希望让其他Bean收到通知并作出相应的处理,这时可以让其他Bean监听当前这个Bean所发送的事件。 要实现事件的监听,我们要做两件事:1:自定义事件,继承ApplicationEv
阅读全文
摘要:咳咳,今天我们做些简单而实用的东西,使用springboot 整合alibaba的driud数据库监控工具。alibaba已经提供了spring-boot-starter的jar包了。先看pom.xml加个依赖~~ (druid.version自己找哈) 。 配置信息是少不了滴~~ 接下来是重点,重
阅读全文
摘要:本文将介绍如何实现分页查询功能,推荐使用github的pagehelper插件实现(事实上大家基本都是这么干的),但本文的实现方式和大多数不同,废话少说,现在就带着大家看看区别在哪里。先看pom.xml依赖:相当简单的mybatis-spring依赖+mysql+pagehelper+fastjso
阅读全文
摘要:在Spring 3.2中,新增了@ControllerAdvice、@RestControllerAdvice 注解,可以用于定义@ExceptionHandler、@InitBinder、@ModelAttribute,并应用到所有@RequestMapping、@PostMapping, @Ge
阅读全文
摘要:今天我们来讲讲怎么在spring boot 中整合redis 实现对数据库查询结果的缓存。首先第一步要做的就是在pom.xml文件添加spring-boot-starter-data-redis。要整合缓存,必不可少的就是我们要继承一个父类CachingConfigurerSupport。我们先看看
阅读全文
摘要:今天来和朋友们一起学习下,SpringBoot怎么整合RabbitMQ。目前消息组件大致有三种:.activemq, rabbitmq, kafka。这三者各有优缺点,RabbitMQ相比之下是处于其他二者之间的一个消息组件。RabbitMQ依赖于erlang,在linux下安装的话,要先安装erl
阅读全文
摘要:SpringBoot 确实为我们做了很多事情, 但有时候我们想要自己定义一些Handler,Interceptor,ViewResolver,MessageConverter,该怎么做呢。在Spring Boot 1.5版本都是靠重写WebMvcConfigurerAdapter的方法来添加自定义拦
阅读全文