自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 JVM -记一次堆内存泄露

项目 - 学校爬虫项目说明:学区房项目是私人项目,主要是爬取网络上的学校作为基础数据,给用户综合展示并且作为学区参考。根据数据结构不同该项目分为爬取学校列表和学校详情两部分。这次出现内存泄露以及CPU飙升至卡死的情况是在爬取学校详情时出现的。该类问题在本地idea调试时不会出现,部署至线上才发生。具体表现为爬取数据项目开启后不久,cpu使用率直接升至200%左右,不久项目即报错堆内存泄露。...

2019-10-22 23:09:37 245

转载 Java虚拟机是如何加载Java类的? - 《深入拆解JAVA虚拟机》

本文引用自《极客时间》深入拆解JAVA虚拟机听我的意大利同事说,他们那边有个习俗,就是父亲要帮儿子盖栋房子。这事要放在以前还挺简单,亲朋好友搭把手,盖个小砖房就可以住人了。现在呢,整个过程要耗费好久的时间。首先你要请建筑师出个方案,然后去市政部门报备、验证,通过后才可以开始盖房子。盖好房子还要装修,之后才能住人。盖房子这个事,和 Java 虚拟机中的类加载还是挺像的。从 class 文件到...

2019-03-13 19:50:40 561

原创 《java面试》7 - JVM22道题

1. java内存模型和优化有做过哪些?在Java语言中,采用的是共享内存模型来实现多线程之间的信息交换和数据同步的。线程之间通过共享程序公共的状态,通过读-写内存中公共状态的方式来进行隐式的通信。同步指的是程序在控制多个线程之间执行程序的相对顺序的机制,在共享内存模型中,同步是显式的,程序员必须显式指定某个方法/代码块需要在多线程之间互斥执行。在说Java内存模型之前,我们先说一下Java的...

2019-03-13 16:43:21 372

原创 Linux 磁盘满了解决办法

CRM系统图片上传不上去了这一大堆错误,先检查了7牛,10G免费空间还有7G多;再看下磁盘空间df -hl 查看磁盘使用率100%du -sh * 根目录下查看下,是H5 Tomcat最大30多G,进一步查看,log日志攒了三年了,删之,恢复正常。...

2019-03-11 11:15:33 795

转载 深入理解幂等性

转 https://www.cnblogs.com/javalyy/p/8882144.html什么是幂等性HTTP/1.1中对幂等性的定义是:一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外)。也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同。Methods can also have the property of “idempoten...

2019-03-08 13:19:42 195

转载 MySQL索引使用的注意事项

MySQL 索引通常是被用于提高 WHERE 条件的数据行匹配时的搜索速度,在索引的使用过程中,存在一些使用细节和注意事项。不要在列上使用函数和进行运算不要在列上使用函数,这将导致索引失效而进行全表扫描。select * from news where year(publish_time) < 2017为了使用索引,防止执行全表扫描,可以进行改造。select * from new...

2019-03-07 22:26:12 183

原创 《java面试》18Linux

《java面试》18Linux

2019-02-23 14:33:28 164

原创 《java面试》17k8s

k8s什么算法设置ip不重复?k8s nodeport网络怎么流转出去,包怎么转出来的?k8s负载均衡算法怎么做的?

2019-02-23 14:32:05 200

原创 《java面试》16ES

es的定时删除过期数据计划,es的内嵌查询Es的布尔查询关键字:should,must,must not

2019-02-23 14:31:30 204

原创 《java面试》15算法

爬楼梯算法快速排序,归并排序,冒泡排序手写算法数组合并,栈实现堆加密算法自己实现lru算法红黑树的实现原理和应用场景使用随机算法产生一个数,要求把1-1000W之间这些数全部生成。(考察高效率,解决产生冲突的问题)两个有序数组的合并排序一个数组的倒序计算一个正整数的正平方根数组和链表数据结构描述,各自的时间复杂度二叉树遍历BTreehash算法的有哪几种,优缺点,使用...

2019-02-23 14:30:39 176

原创 《java面试》12Kafka

Kafka读取快的原理,分区思想和一组一组读数据Kafka怎么获取offset做到异常消息的回退Kafka的选举策略消息发送失败如何处理限流策略和方法

2019-02-23 14:22:21 201

原创 《java面试》总目录

一、集合框架arraylist扩容过程,与linkedlist区别concurrenthashmap怎么做的数据重整rehashcurrenthashmap怎么count过程,除了最简单的加锁hashtable跟hashmap数据结构的不同hashmap的get过程?hashmap的get方法的过程,比如冲突时先比较hashcode,再比较equals方法arraylist和link...

2019-02-20 12:18:04 428

转载 敏捷开发Scrum在项目中的合理使用

一、Scrum 是什么?Scrum 是一个用于开发和维持复杂产品的框架 ,是一个增量的、迭代的开发过程。在这个框架中,整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint,每个Sprint的建议长度是2到4周,在互联网开发领域,像类似app的开发,可以缩短到一周。在Scrum中,使用产品Backlog来管理产品的需求,产品backlog是一个按照商业价值排序的需求列表,列表...

2019-02-18 17:57:16 258

转载 产品研发团队如何融合OKR与Scrum敏捷开发?

一、什么是 OKR?「 OKR 」是一个标准化的目标管理的方法,其中 O 是指 Objectives 目标,KR 是指 Key Results 关键结果,即目标与关键结果法,它是一套明确和跟踪目标以及其完成情况的管理方法。KPI的缺点:我们在公司或团队中,经常会制定目标,俗称 KPI ,它是一个自上而下安排的量化指标,它往往是一个从上层往下层责任摊派的过程,并不是由大家自发的去制定去挑战的目...

2019-02-18 17:42:45 312

原创 Spring Boot数据——事务

一、SpringBoot 事务原理事务其实是建立在AOP的基础之上,其核心类就是 TransactionInterceptor,该类invokeWithinTransaction 方法是事务处理的核心方法,其中封装了我们创建的 DataSourceTransactionManager 对象,该对象就是执行回滚或者提交的执行单位其实TransactionInterceptor 和我们平时标注@...

2019-02-17 21:42:44 357

原创 Spring Boot数据——ElasticSearch

一、为什么需要ES?1. 思考:大规模数据如何检索?如:当系统数据量上了10亿、100亿条的时候,我们在做系统架构的时候通常会从以下角度去考虑问题:1)用什么数据库好?(mysql、sybase、oracle、达梦、神通、mongodb、hbase…)2)如何解决单点故障;(lvs、F5、A10、Zookeep、MQ)3)如何保证数据安全性;(热备、冷备、异地多活)4)如何解决检索难题...

2019-02-17 16:52:28 971

原创 蚂蚁金服电面整理

本文是整理蚂蚁金服电话面试,回答口语化,只做练习使用备注,不做知识查找积累1. 项目中的监控:那个监控指标常见的有哪些?服务器:CPU、内存、IO 等等。建议下载个nmon工具,里面有各个指标。数据库:MySQL(缓存命中、索引、单条SQL性能、数据库线程数、数据池连接数)中间件:1、消息 2、负载均衡 3、缓存(包括线程数、连接数、日志)。网络: 吞吐量、吞吐率应用: jvm内存、日...

2019-02-15 18:58:02 560

转载 MongoDB——监控及性能优化

https://www.cnblogs.com/clsn/p/8244206.html#auto_id_18

2019-02-13 18:56:13 761

原创 MongoDB——集群搭建

Mongodb的三种集群方式的搭建:Replica Set / Sharding / Master-Slaver官方已经不推荐Master-Slaver集群方式一、Mongodb的副本集(Replica Set)集群节点角色介绍及选举过程一个副本集ReplicaSet一般由一组mongod实例组成,这组mongod实例协调配合工作,共同向外提供高可用的数据库访问服务。副本集中的不同节点虽然都...

2019-02-13 00:32:53 313

原创 MongoDB—— 4.0+ 版本事物管理

一、使用条件支持 MongoDB 4.0 的其他语言 Driver 也封装了事务相关接口,用户需要创建一个 Session,然后在 Session 上开启事务,提交事务。使用限制: MongoDB 4.0+版本事务只能在复制集下才能生效,并不支持单点模式,单点模式会报错二、使用事务步骤:a. 获取session:session = db.getMongo().startSession...

2019-02-12 22:46:12 1249

原创 Spring Boot数据——MongoDB

本文提纲什么是MongoDBMongoDB优点Spring Boot中MongoDB集成方式1> 常规集成2> 多数据源集成3> Spring Boot中使用MongoDB的连接池配置MongoDB中的基础概念:Databases、Collections、DocumentsMongoDB优化方式MongoDB应用之Spring Boot中使用log4j实现ht...

2019-02-12 19:07:57 879

原创 Spring Boot数据——Redis2

1.Redis集中式缓存与EhCache进程内缓存区别由于EhCache是进程内的缓存框架,在集群模式下时,各应用服务器之间的缓存都是独立的,因此在不同服务器的进程间会存在缓存不一致的情况。即使EhCache提供了集群环境下的缓存同步策略,但是同步依然需要一定的时间,短暂的缓存不一致依然存在。在一些要求高一致性(任何数据变化都能及时的被查询到)的系统和应用中,就不能再使用EhCache来解决...

2019-02-11 23:09:55 174 1

原创 Spring Boot数据——Redis1

一、基本集成套路:环境依赖修改 POM 文件,添加 spring-boot-starter-redis 依赖。<dependency><groupId>org.springframework.boot</groupId>&

2019-02-11 18:59:34 362

转载 Redis缓存

缓存穿透、缓存并发、热点缓存之最佳招式转载 2017-12-26 程超 技术杂记 被围观 4332 次号外: 最近整理了一下以前编写的一系列Spring Boot内容,整了个《Spring Boot基础教程》的PDF,扫描左侧二维码关注我,回复:001,快来领取吧~!更多内容整理进行中!一、前言我们在用缓存的时候,不管是Redis或者Memcached,基本上会通用遇到以下三个问题:...

2019-02-11 18:07:01 157

转载 Spring Boot数据——JPA源码分析

1. spring-data-jpa相比其他ORM框架优势我们都知道,在使用持久化工具的时候,一般都有一个对象来操作数据库,在原生的Hibernate中叫做Session,在JPA中叫做EntityManager,在MyBatis中叫做SqlSession,通过这个对象来操作数据库。我们一般按照三层结构来看的话,Service层做业务逻辑处理,Dao层和数据库打交道,在Dao中,就存在着上面的对...

2019-02-11 17:39:42 775

转载 Spring Boot数据——JPA使用

1.首先了解JPA是什么?JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate,TopLink,JDO等ORM框架各自为营的局面。值得注意的是,JPA是在充分吸收了现有Hibernate,TopL...

2019-02-11 16:46:27 250

转载 Spring Boot数据——Mybatis

1. 常规操作整合1.1 环境依赖修改 POM 文件,添加mybatis-spring-boot-starter依赖。值得注意的是,可以不添加spring-boot-starter-jdbc。因为,mybatis-spring-boot-starter依赖中存在spring-boot-starter-jdbc。<dependency> <groupId>org.m...

2019-02-10 21:15:32 136

转载 Spring Boot实践1——如何解决项目启动时初始化资源

在我们实际工作中,总会遇到这样需求,在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等。今天就给大家介绍一个 Spring Boot 神器,专门帮助大家解决项目启动初始化资源操作。这个神器就是 CommandLineRunner,CommandLineRunner 接口的 Component 会在所有 Spring Beans 都初始化之后,SpringApplica...

2019-02-09 22:08:32 196

转载 阿里蚂蚁花呗团队面试题

java基础:hashmap结构;什么对象能做为key;hashtable,concurrentHashMap,hashtable比较;String,StringBuilder,StringBuffer;对象的深浅复制多线程:wait,sleep分别是谁的方法;区别countLatch的await方法是否安全,怎么改造;线程池参数整个流程描述,背后的底层原理aqs,casThreadLoca...

2019-02-09 21:14:00 1269

转载 Spring Boot 源码分析——自动配置

问题1. Spring Boot 如何巧妙的做到开箱即用,自动配置的呢?Spring Boot提供了很多”开箱即用“的依赖模块,都是以spring-boot-starter-xx作为命名的。例如,之前提到的 spring-boot-starter-redis、spring-boot-starter-data-mongodb、spring-boot-starter-data-elasticsear...

2019-02-02 18:45:54 305

转载 Spring Boot 基础(二)

- Spring Boot、微服务架构和大数据治理三者区别和联系1. 微服务架构目前为止我见过最好的对微服务架构的阐述互联网时代的产品通常有两类特点:需求变化快和用户群体庞大,在这种情况下,如何从系统架构的角度出发,构建灵活、易扩展的系统,快速应对需求的变化;同时,随着用户的增加,如何保证系统的可伸缩性、高可用性,成为系统架构面临的挑战。如果还按照以前传统开发模式,开发一个大型而全的系统...

2019-02-02 17:12:07 220

转载 Spring Boot 基础(一)

什么是 Spring BootSpring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 maven 整合了所有的 jar 包,可以认为Spring Boot 整合了所有的框架。简化了基于 Spring 的应用开发,通过少量的代码就能创建一个独立的、产品级别的 Spring 应用。 Spring Boot 为 Spring 平台及第三方库提供开箱即用的设置,这样你就可...

2019-02-01 14:52:15 242

转载 李响专访节选

Q:恭喜你成为CNCF 全球 9 位 TOC 之一!方便先和大家介绍下你的工作经历吗?李响:我在最近的几年中,基本上都在围绕“云原生”工作。在阿里巴巴之前,我在 CoreOS 工作。作为 CoreOS 最早的工程师之一,我与同事们共同创建了 etcd、etcd/vault operator、operator framework 项目,也一同参与了 fleet、flannel、rkt、Promet...

2019-02-01 11:30:47 920

空空如也

空空如也

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

TA关注的人

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