自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【玩转23种Java设计模式】结构型模式篇,java从入门到精通第五版

@Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD})public @interface Select {String value() default “”;}2、Dao层接口(IUserDao)public interface IUserDao {@Select(“select * from user where id = #{id}”)String selectById(Integer id

2021-12-27 14:48:58 124

原创 【死磕JVM】这可能是最全的JVM面试题了,java开发工程师百度百科

内存溢出的原因java.lang.OutOfMemoryError: …java heap space. 堆栈溢出,代码问题的可能性极大java.lang.OutOfMemoryError: GC over head limit exceeded 系统处于高频的GC状态,而且回收的效果依然不佳的情况,就会开始报这个错误,这种情况一般是产生了很多不可以被释放 的对象,有可能是引用使用不当导致,或申请大对象导致,但是java heap space的内存溢出有可能提前不会报这个错误,也就是可能内存就直

2021-12-27 14:46:23 161

原创 【死磕JVM】看完这篇我也会排查JVM内存过高了 就是玩儿

//小农的银行卡信息记录BigDecimal price = new BigDecimal(10000000.0);String name = “牧小农”;int age = 18;Date birthdate = new Date();public void m() {}}//线程池 定时线程池//50个,然后设置 拒绝策略private static ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecut

2021-12-27 14:45:25 419

原创 下一站,回家过年 (含泪都要看完,java工程师视频教程

时间不愿意停留,岁月不喜欢等待。不知不觉中, 春节临近,回家的脚步也越来越近。我的家乡,无意间变成了一家客栈,一家我求学和工作路上的客栈。几乎一年才回家一次,甚至更久。每次与家人的相聚,短之又短!‍(上次离开家,父辈们送我在马路上坐车的情景)有家就有年,无论路途是多么的遥远、人潮是多么的拥挤、春运的车票有多么的难买、各种回家的交通工具有多么的拥挤,都难以阻挡在外漂泊了一年的游子渴望回家过年的匆匆脚步。因为哪里有着我们的思念和牵挂。春节临近,回到我们温暖的目的地——家,也许是每一位归乡人最热切的期.

2021-12-24 16:25:55 153

原创 一步步带你搭建Elasticsearch环境,还看不懂?,Java面试心得必备技能储备详解

目录1.1 Elasticsearch安装1.1.1 Elasticsearch安装1.1.2 Elasticsearch目录结构1.1.3 Elasticsearch插件安装1.1.4 Elasticsearch多实例启动1.2 Kibana安装1.2.《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享1 Kibana安装1

2021-12-24 16:22:05 93

原创 一文讲透想要达到阿里P8-P9阶段薪资的程序员,应该掌握哪些技能。

关于普通程序员的进阶之路,网上的学习路线与理论说辞一抓一大把。在小编看来优秀工程师的成长之路就是一条不断打怪升级之路,Java入行容易精通难,需要能力也需要运气。相信很多的Java程序员在自己的进阶之路上都有遇到以下几个方面的问题却不知道如何解决,也没有一个好的学习路线与规划:具备有1年以上Java开发经验缺乏Java整体认知梦想进入BATJ等名企跳逋屡屡碰壁,急需短时间有意深耕Java技术需要快速提升竞争力想要建立完善的知识体系渴望掌握大厂核心技术精进,跳槽拿高薪立志成为J

2021-12-24 16:20:44 333

原创 一文带你读懂什么是Spring-Cloud与Spring-Cloud-Alibaba

Netflix Eureka:一个基于 Rest 服务的服务治理组件,包括服务注册中心、服务注册与服务发现机制的实现,实现了云端负载均衡和中间层服务器的故障转移。`Net《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享flix Ribbon`:客户端负载均衡的服务调用组件。Netflix Hystrix:容错管理工具,实现断路器模式,通过控制服务的节点,从而对延迟和.

2021-12-24 16:19:41 259

原创 一文带你弄明白Spring Cloud Config的配置中心,还不赶快来学

public class Application {public static void main(String[] args) {new SpringApplicationBuilder(Application.class).web(true).run(args);}}最后,设置属性文件的位置。Spring Cloud Config提供本地存储配置的方式。在bootstrap启动属性文件中,设置属性spring.profiles.active=native,并且设置属性文件所在的位置,如下所示

2021-12-24 16:18:26 829

原创 一个最近经常问的面试题-MySQL-如何优化cpu消耗,老男孩linux运维54期视频

用户空间CPU消耗,各种逻辑运算正在进行大量tps函数/排序/类型转化/逻辑IO访问…IO等待等待IO请求的完成此时CPU实际上空闲如vmstat中的wa 很高。但IO等待增加,wa也不一定会上升(请求I/O后等待响应,但进程从核上移开了)产生影响用户和IO等待消耗了大部分cpu吞吐量下降(tps)查询响应时间增加慢查询数增加对mysql的并发陡增,也会产生上述影响# 如何减少CPU消耗?减少等待减少IO量SQL/index,使用合适的索引减少扫描的

2021-12-24 16:14:39 86

原创 上分工具,凭这份《数据结构与算法,spring运行原理面试题

二、选择排序三、插入排序四、快速排序五、归并排序![上分工具,凭这份《数据结构与算法》核心文档,我“跳”进了字节](https《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享????/upload-images.jianshu.io/upload_images/24195226-c93e0b3b15778a29?imageMogr2/auto-orient

2021-12-23 15:48:49 767

原创 七、springBoot 简单优雅是实现文件上传和下载,spring集成mybatis原理

前言配置[cont《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享roller 层](about:blank#controller__11)测试文件下载下载第三方文件到服务器删除文件番外前言=================================================================..

2021-12-23 15:46:17 196

原创 一面被挂,坚持刷题两月终入字节跳动,欣喜之余把算法与数据结构高频面试题分享给大家

如何较为直观地打印二叉树二叉树的序列化和反序列化遍历二叉树的神级方法在二叉树中找到累加和为指定值的最长路径长度找到二叉树中的最大搜索二叉子树找到二叉树中符合搜索二叉树条件的最大拓扑结构四,递归和动态规划面试题============斐波那契系列问题的递归和动态规划矩阵的最小路径和换钱的最少货币数换钱的方法数最长递增子序列汉诺塔问题最长公共子序列问题最长公共子串问题龙与地下城游戏问题五,字符串面试题==..

2021-12-23 15:44:56 54

原创 一致性 Hash 原理及 GroupCache 源码分析,稳进大厂

![一致性 Hash 原理及 GroupCache 源码分《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享析](https://img-blog.csdnimg.cn/img_convert/59af351626023eb2d1d5b6863617ab62.png)对于该有序 Hash 环,环中的每个节点对应于一台缓存 Server,同时每个节点也包含一个整数值。各节点按照

2021-12-23 15:43:53 239

原创 一篇文章带你使用-Spring-Security-完成前后端分离,JSON-进行交互

客户端请求不依赖服务端的信息,多次请求不需要必须访问到同一台服务器服务端的集群和状态对客户端透明服务端可以任意的迁移和伸缩(可以方便的进行集群化部署)减小服务端存储压力3. 如何实现无状态无状态登录的流程:首先客户端发送账户名/密码到服务端进行认证认证通过后,服务端将用户信息加密并且编码成一个 token,返回给客户端以后客户端每次发送请求,都需要携带认证的 token服务端对客户端发送来的 token 进行解密,判断是否有效,并且获取用户登录信息4. 各自优缺点(1)使用 s.

2021-12-23 15:42:38 351

原创 一文透析 Spring Boot、微服务架构和大数据治理三者之间的故事

整个业务数据被分散在各个子服务之后会带来两个最明显的问题:1、业务管理系统对数据完整的查询,比如分页查询、多条件查询等,数据被割裂后如何来整合?2、如何对数据进一步的分析挖掘?这些需求可能需要分析全量的数据,并且在分析时不能影响到当前业务。从技术方案来讲,我们一般有两种选择来处理这些问题,第一种是在线处理数据,第二种是离线处理数据。在线处理数据的方案就是按照微服务的标准接口来进行,后端需要哪个系统的数据就去调用某个微服务提供的接口来获取。后端管理平台根据前端的需求去不同的微服务系统去获取数据,然后将返回

2021-12-23 15:41:13 192

原创 一个程序媛的面试之路(字节、百度,中级java面试问题大全及答案大全

目前拿到了字节,百度,网易(白菜价,已拒),美团,小米的意向书,等最终结果通知的是华泰(已收到体检通知),招行信用卡,阿里招银(资料审查中),网易互娱(二面没去),浦发(没去体检),农行(面试通过,没去笔试),腾讯(两次被捞都是一面挂,第三次还是深圳拒绝了面试),银联(笔试完),微博(拒绝了现场面试)还有各种笔试挂的(流利说,爱奇艺,小红书,B站),后续拒绝了很多面试,再也没有精力再去了,持续躺尸中…面试的时候真的是屡战屡败(阿里三次已回绝),真的要好好调整自己,面试过程中要充分思考,祝大家都收获自己

2021-12-23 15:38:51 218

原创 从0到1设计一个牛逼的本地缓存系统,直面双十一架构体系

7.是否持久化这个其实不是《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享必须的,是否需要将缓存数据持久化看需求;本地缓存如ehcache是支持持久化的,而guava是没有持久化功能的;分布式缓存如redis是有持久化功能的,memcached是没有持久化功能的;8.阻塞机制在看Mybatis源码的时候,二级缓存提供了一个blocking标识,表示当在缓存中找不到元素时

2021-12-22 15:53:13 485

原创 介绍一个开源博客项目并部署到Nginx服务器,java语言程序设计教程pdf

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource打包到Linux服务器上时使用spring.datasource.url=jdbc:mysql://localhost:3306/vueblog2?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghaispring.datasource.username=vueblogspring.

2021-12-22 15:51:48 342

原创 什么样的技术能进入一线大厂?这份阿里、百度,附面试答案

但你可能忽略了,你的这份简历才更多的决定了你会遇到一个什么样的公司、什么样的面试官、什么样的考题。最终决定你与这家公司的匹配的程度。在与很多小伙伴沟通中发现,其实很大一部分程序员都不会写简历的,或者说写不好简历。好像是有话说不出来,或者是不知道该把这些话说在哪。一份简历主要得体现出你个人的信息、技术栈广度和深度、项目经验以及最后一块拓展内容。而这份简历想达到最终的效果,也就是拿Offer。那么一定要给面试官挖坑,当然这个坑不是真坑。而是你要在简历中突出自己的优势项、技术亮点、优秀经历,也同时在这些点中留

2021-12-22 15:50:22 206

原创 什么是面向对象,java经典面试题及答案

2、去饭店,张开嘴:老板!来一份鱼香肉丝!看出来区别了吗?1是面向过程,2是面向对象。面向对象有什么优势呢?首先你不需要知道鱼香肉丝是怎么做的,降低了耦合性。如果你突然不想吃鱼香肉丝了,想吃洛阳白菜,对于1你可能不太容易了,还需要重新买菜,买调料什么的。对于2,太容易了,大喊:老板!那个鱼香肉丝换成洛阳白菜吧,提高了可维护性。总的来说就是降低耦合,提高维护性!面向过程是具体化的,流程化的,解决一个问题,你需要一步一步的分析,一步一步的实现。面向对象是模型化的,你只需抽象出一个类,这是一个封闭的盒子,

2021-12-22 15:48:57 115

原创 什么是服务网格?,程序员面试防坑宝典

让我们通过购物车如何在微服务架构上工作来了解这一点。这里的微服务有库存服务,支付网关服务,基于客户访问历史的产品建议算法服务等。尽管所有这些服务在理论上都保持为独立的微型模块,但它们确实需要彼此交互。所以, 服务到服务的通信才使微服务成为可能。为什么我们需要服务网格?既然你知道了微服务体系结构中服务到服务通信的重要性,那么很明显,通信通道需要保持无故障,安全,高可用性和健壮性。而这恰恰是服务网格作为基础结构组件出现的地方,它通过实现多个服务代理来确保受控的服务到服务通信。服务网格.

2021-12-22 15:47:32 227

原创 什么是服务网格?(1),kafka运行原理

编排(类似Kubernetes之类的平台)-用于配置,分配和管理服务的可用系统资源。服务网格(类似Istio的平台)-通过服务代理网格进行服务间通信,以连接,管理和保护微服务。以上三个是微服务架构中最重要的组件,这些组件允许云原生中的应用程序在负载下扩展,甚至在故障期间也能执行。微服务架构的复杂性大型应用程序分解为多个微服务时,每个微服务可能使用不同的技术栈(开发语言,数据库等),需要把这些环境来形成一个复杂的体系结构进行管理。尽管Docker容器化通过将每个微服务划分为在单独的容器中..

2021-12-22 15:46:07 97

原创 亿级流量架构之资源隔离思路与方法,最新“美团+字节+腾讯”三面问题

thread name=nioEventLoopGroup-3-1 server receive msg="…"可以发现这里使用的线程其实和处理io线程是同一个;Dubbo线程隔离模型===============Dubbo的底层通信框架其实使用的就是Netty,但是Dubbo并没有直接使用Netty的io线程来处理业务,可以简单在生产者端输出当前线程名称:thread name=DubboServerHandler-192.168.1.115:20880-thread-2,…可以发现业务逻辑使

2021-12-22 15:44:42 146

原创 京东T9走出最新的里程碑,《新算法宝典,java自学入门书籍推荐

1.3 空间复杂度(什么是空间复杂度+空间复杂度的计算+时间与空间的取舍)02 数据结构基础=========2.1 什么是数组(初识数组+数组的基本操作+数组的优势和劣势)2.2 什么是链表(“正规军"和"地下党”+链表的基本操作+数组VS链表)2.3 栈和队列(物理结构和逻辑结构+什么是栈+栈的基本操作+什么是队列+队列的基本操作+栈和队列的应用)2.4 神奇的散列表(为什么需要散列表+哈希函数+散列表的读写操作)03 树====3.1 树和二.

2021-12-22 15:43:17 96

原创 互联网IT就业市场,你要说最有市场的一定是它,linux内核视频教程全套

Java 平时工作主要是干什么,工作环境OK吗?什么公司会需要 Java ?具体的薪资是什么个情况?能不能满足我在北京买房?未来我的职业发展路径是什么样子?总结来看,这 7 个问题可以概括为 3 方面:♦ Java就业前景♦ Java工程师薪资♦ 未来发展下面,播妞将针对这 3 个问题给大家进行详细解答,希望能够给处在“慌”金时代的你带来一些启发。Java 就业景气指数 No.1播妞这里有一份智联招聘发布的《2020年新基建产业人才发展报告》,可以很好的解答 Jav..

2021-12-22 15:41:52 67

原创 历经几小时,终于把Spring-IOC介绍和操作讲得明明白白,系统学Java从零开始

通过少量的配置ApplicationContext就可以开箱即用spring,通常一个单独的应用是会创建ClassPathXmlApplicationContext 或者 FileSystemXmlApplicationContext 实例。尽管 xml 是 一种传统的配置元数据的格式,但是你也可以使用少量的xml显示声明的支持java注解和或者Java代码这种元数据格式。在许多应用场景中会创建很多个IOC container 而不是一个。当你的对象和配置元数据完成之后,ApplicationContex

2021-12-19 20:45:33 284

原创 十分钟搞懂 MySQL 中的事务实现原理,java面向对象程序设计案例教程课后答案

- REPEATABLE_READ:重复读- SERIALIZABLE:串行化Innodb对四种类型都支持,脏读和串行化应用场景不多,读提交、重复读用的比较广泛,后面会介绍其实现方式。2. 行的更新过程==========下面演示下事务对某行记录的更新过程:1. 初始数据行F1~F6是某行列的名字,1~6是其对应的数据。后面三个隐含字段分别对应该行的事务号和回滚指针,假如这条数据是刚INSERT的,可以认为ID为1,其他两个字段为空。2.事务1更改该行的各字段的值

2021-12-19 20:41:59 59

原创 利用注解 + 反射消除重复代码,妙,微服务架构统一日志管理

//字符串靠左,多余的地方填充_stringBuilder.append(String.format("%-10s", name).replace(’ ', ‘_’));//字符串靠左,多余的地方填充_stringBuilder.append(String.format("%-18s", identity).replace(’ ', ‘_’));//数字靠右,多余的地方用0填充stringBuilder.append(String.format("%05d", age));//字符串靠左,多余的

2021-12-19 20:35:35 183

原创 初识Java语言(六)- 多态,mysql实用教程第三版电子书

public static void main(String[] args) {Cat cat = new Cat();cat.name = “TOM”;draw(cat); //将子类对象传过去}方法返回public static void main(String[] args) {Animal animal = createCat();}public static Animal createCat() {return new Cat(); //以子类对象作为返回值}动态绑定

2021-12-19 20:33:38 858

原创 初识Java语言(五)- 包和继承,现在java后端的主流技术

Scanner sc = new scanner();}}对于导包,我们还有一种比较简单的方式,如下import java.util.*;*,就是通配符。也就是在当前类中,可以直接使用util包的所有类,从而不需要再次导包了。值得注意的是,这里的导入,并不是导入util包下的所有类,这里跟C语言的include,不一样。C语言中的include,是导入头文件下的所有内容;而这里的import导入,只会在需要使用这个包下的类的时候,才会导入进来。当然,对于import导入包时,还需要特别注意一个问

2021-12-19 20:32:11 231

原创 初探DispatcherServlet#doDispatch,java高级开发面试总结

return;}// Determine handler adapter for the current request.HandlerAdapter ha = getHandlerAdapter(mappedHandler.getHandler());// Process last-modified header, if supported by the handler.String method = request.getMethod();boolean isGet = “GET”.equa

2021-12-19 20:30:42 238

原创 创建线程的四种方式,2021Java常见笔试题

实现Runnable接口使用Callable和Future创建线程使用Executor框架创建线程池继承Thread类步骤定义一个Thread类的子类,重写run方法,将相关逻辑实现,run()方法就是线程要执行的业务逻辑方法创建自定义的线程子类对象调用子类实例的star()方法来启动线程public class MyThread extends Thread {@Overridepublic void run() {System.out.printl..

2021-12-19 20:29:06 521

原创 Java面试题及答案2019版(上),springboot缓存技术

System.out.println(a == c);     // true  a自动拆箱成int类型再和c比较}}最近还遇到一个面试题,也是和自动装箱和拆箱有点关系的,代码如下所示:public class Test03 {public static void main(String[] args) {Intege

2021-12-18 00:21:06 218

原创 Java面试八股文中,常问的那些spring高频题目解析,java面试jvm原理

setter方法注入当前对象要只需要为其依赖对象对应的属性添加setter方法,就可以通过setter方法将依赖对象注入中。setter 方法注入在描述性上要比构造方法注入强,并且可以被继承,允许设置默认值。缺点是无法在对象构造完成后马上进入就绪状态。构造器依赖注入和Setter方法注入的区别两种依赖方式都可以使用,构造器注入和Setter方法注入。最好的解决方案是用构造器参数实现强制依赖,setter方法实现可选依赖。接口注入必须实现某个接口,接口提供方法来为其注入依赖对象。使用少,因为它.

2021-12-18 00:18:54 150

原创 java认识异常,springboot超详细教程

文章目录java认识异常什么是异常基本用法捕获异常异常处理流程抛出异常finally什么是异常在java程序中运行时出现错误称为异常,java也因此把各种异常现象抽象为异常类,在之前我们也已经接触了一些异常除以0public static void main(String[] args) {System.out.println(15/0);}数组下标越界public static void main(String[] args

2021-12-18 00:17:23 66

空空如也

空空如也

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

TA关注的人

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