- 博客(2186)
- 资源 (23)
- 收藏
- 关注

原创 写博客能月入10K?
对于写博客这件事情,我还是非常有经验的,我大概从大二开始写博客,一直持续到现在已经有6年的时间了,应该说是积累了一些经验,今天跟大家聊聊。在大学的时候,写博客的初心其实就是记录一些学习的知识,那个时候,因为很多技术都不是很了解,所以每天需要有大量的学习,我以前也在公众号说过,我最开始学习计算机的时候,其实是比较疯狂的,一天学习的时间大概在12个小时,记得当时在大一的时候就摸索了很多的学习方法,比如看书,上课学习计算机的基础知识,后来,我才发现,其实,最快的方法就是看视频,当然,这是针对初学者,为什么这么说
2021-03-01 11:38:01
6913
10

原创 应届生如何准备校招,用我这一年的校招经历告诉你
前期准备校招在我看来是一件时间特别长的战争,为什么这么说呢,因为从你开始准备校招的那一刻开始,到你正式拿到offer的,并且确定去哪一家公司时,时间差不多一年左右,这个时间其实比考研、公务员等都要长,你可能会问为什么需要这么长的时间,当然,这也跟个人的具体情况相关,每个人也会不一样的,但是,也差不了多少,大神级别的除外了。这篇文章主要还是讲讲校招的整个流程,需要准备什么,遇到问题时怎么去解决,怎么去调整心态,这些都是很重要的,我也是把我个人的真实经历告诉大家,希望能够对大家有帮助。选择方向在我看来,
2021-03-01 11:08:43
5887
1

原创 从大学入门到研究生拿大厂offer,必须看的数据结构与算法书籍推荐,不好不推荐!
点个赞,看一看,好习惯!本文 GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了3个月总结的一线大厂Java面试总结,本人已拿腾讯等大厂offer。另外,原创文章首发在我的个人博客:blog.ouyangsihai.cn,欢迎访问。最近公众号一直都有朋友问我有没有好的算法书籍推荐呢,怎么才能够更好的刷题呢?我想说,这个确实很多人都有这个问题,特别是对于刚刚学习计算机的同学来说更是一种困扰,记得那会我刚刚学习计算机的时候,很多.
2020-05-09 09:03:05
4711
17

原创 【大学到研究生自学Java的学习路线】这是一份最适合普通大众、非科班的路线,帮你快速找到一份满意的工作
点个赞,看一看,好习惯!本文 GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了3个月总结的一线大厂Java面试总结,本人已拿腾讯等大厂offer。另外,原创文章首发在我的个人博客:blog.ouyangsihai.cn,欢迎访问。这一部分,其实,以前在自己的公众号写过,但是,今天,还是想自己重新理清头绪,重新分享一下...
2020-05-07 08:50:45
5379
12

原创 推荐一个很牛逼的 Github 项目:本人历时半年完成的【Java 面试 + Java 后端技术学习指南】,已拿大厂offer
今天给大家分享一份【Java 面试 + Java 后端技术学习指南】:一份通向理想互联网公司的面试指南,包括 Java,技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计、分布式、数据库(MySQL、Redis)、Java 项目实战等, 新鲜出炉!Github 地址 如下:https://github.com/OUYANGSIHAI/JavaInterview,不要脸求...
2020-05-06 09:56:44
6842
15
转载 Java线程池ThreadPoolExecutor详解(一篇就够了)
Executor框架主要由三部分组成,任务任务的执行者执行结果,ThreadPoolExecutor和ScheduledThreadPoolExecutor的设计思想也是将这三个关键要素进行了解耦,将任务的提交和执行分离。任务在和中任务是指实现了Runnable接口和Callable接口的类,中将任务转换成FutureTask类,中任务被转换成类,该类继承FutureTask,并重写了run方法,实现了延时执行任务和周期性执行任务。任务的执行者包括任务执行机制的核心接口Executor,以及继承自。
2024-05-03 17:39:16
6591
转载 彻底理解ThreadLocal(看这篇文章就够了)
初始容量16,负载因子2/3,解决冲突的方法是再hash法,也就是:在当前hash的基础上再自增一个常量。更多关于Java的技术和资讯可以关注我的专栏:专栏免费给大家分享Java架构的学习资料和视频本文转自,如有侵权,请联系删除。
2024-05-03 17:37:29
696
转载 volatile底层原理详解
JMM中规定所有的变量都存储在主内存(Main Memory)中,每条线程都有自己的工作内存(Work Memory),线程的工作内存中保存了该线程所使用的变量的从主内存中拷贝的副本。线程对于变量的读、写都必须在工作内存中进行,而不能直接读、写主内存中的变量。同时,本线程的工作内存的变量也无法被其他线程直接访问,必须通过主内存完成。整体内存模型如下图所示:对于普通共享变量,线程A将变量修改后,体现在此线程的工作内存。
2024-05-03 17:36:00
658
1
转载 深入分析Synchronized原理(阿里面试题)
记得开始学习Java的时候,一遇到多线程情况就使用synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着学习的进行我们知道在JDK1.5之前synchronized是一个重量级锁,相对于j.u.c.Lock,它会显得那么笨重,以至于我们认为它不是那么的高效而慢慢摒弃它。
2024-05-03 17:33:57
346
转载 面试 ConcurrentHashMap ,看这一篇就够了!
ConcurrentHashMap 的迭代器创建后,就会按照哈希表结构遍历每个元素,但在遍历过程中,内部元素可能会发生变化,如果变化发生在已遍历过的部分,迭代器就不会反映出来,而如果变化发生在未遍历过的部分,迭代器就会发现并反映出来,这就是弱一致性。这样迭代器线程可以使用原来老的数据,而写线程也可以并发的完成改变,更重要的,这保证了多个线程并发执行的连续性和扩展性,是性能提升的关键。得到了 null ,这就无法判断,是映射的value是 null ,还是没有找到对应的key而为 null ,就有了二义性。
2024-05-03 17:30:58
459
原创 Skip List--跳表(全网最详细的跳表文章没有之一)
跳表是可以实现二分查找的有序链表;每个元素插入时随机生成它的level;最底层包含所有的元素;如果一个元素出现在level(x),那么它肯定出现在x以下的level中;每个索引节点包含两个指针,一个向下,一个向右;(笔记目前看过的各种跳表源码实现包括Redis 的zset 都没有向下的指针,那怎么从二级索引跳到一级索引呢?留个悬念,看源码吧,文末有跳表实现源码)跳表查询、插入、删除的时间复杂度为O(log n),与平衡二叉树接近;
2024-05-03 16:35:40
4629
2
原创 绝了!这是我见过最详细的HashMap源码解析
HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长.HashMap是非线程安全的,只适用于单线程环境,多线程环境可以采用并发包下的HashMap 实现了Serializable接口,因此它支持序列化,实现了Cloneable接口,能被克隆HashMap是基于哈希表的Map接口的非同步实现.此实现提供所有可选的映射操作,并允许使用null值和null键.此类不保证映射的顺序,特别是它不保证该顺序恒久不变.
2024-05-03 15:02:05
1890
原创 HashMap源码分析(jdk1.8,保证你能看懂)
红黑树是一个自平衡的二叉查找树,也就是说红黑树的查找效率是非常的高,查找效率会从链表的o(n)降低为o(logn)。如果之前没有了解过红黑树的话,也没关系,你就记住红黑树的查找效率很高就OK了。
2024-05-03 14:50:14
262
原创 深入理解 LinkedList 及底层源码分析
1、继承树结构:2、LinkedList 定义LinkedList继承了 AbstractSequentialList 类,实现了 List 接口、Deque 接口、Cloneable 接口、java.io.Serializable 接口。LinkedList实现了 List 接口,即能对它进行队列操作,提供了相关的添加、删除、修改、遍历等功能。LinkedList实现了 Deque 接口,即能将 LinkedList 当作双端队列使用。LinkedList。
2024-05-03 14:09:07
1454
1
原创 深入理解 ArrayList 及底层源码分析
1、什么是 ArrayList可以简单的认为是一个动态数组;实际上 ArrayList 就是用数组实现的,长度不够时,调用 Arrays.copyOf 方法,拷贝当前数组到一个新的长度更大的数组;ArrayList 是可调整大小的数组,实现了 List 接口。实现所有可选列表操作,并允许所有元素包括 null。除了实现 List 接口之外,该类还提供了一些方法来操纵内部使用的存储列表的数组的大小。(这个类是大致相当于 Vector,不同之处在于它是不同步的)。
2024-05-03 12:16:16
1225
转载 图解 SpringCloud 微服务架构,写的太好了!
SpringCloud Alibaba1.1、单体 分布式 集群单体:也称单机结构,将一个项目全都部署在一台服务器上面,整个项目的所有服务资源都由这一台服务器提供。分布式:随着项目越来越庞大,单体式中的服务器处理能力有限,所以就将项目服务和MySQL服务分别存储在两台或两台以上的服务器上,可通过合理部署项目对服务器硬件定制化。集群:在分布式结构中,可能存在单点故障问题,此时就对服务进行备份提供相同...
2023-09-20 22:59:49
1038
1
转载 高并发场景下的 HttpClient 优化方案,QPS 大大提升!
HttpClient优化思路:池化长连接httpclient和httpget复用合理的配置参数(最大并发请求数,各种超时时间,重试次数)异步多读源码1.背景我们有个业务,会调用其他部门提供的一个基于http的服务,日调用量在千万级别。使用了httpclient来完成业务。之前因为qps上不去,就看了一下业务代码,并做了一些优化,记录在这里。先对比前后:优化之前,平均执行时间是250ms;优化之后,...
2023-09-17 22:59:21
792
转载 SpringBoot 最大连接数及最大并发数是多少???
每个Spring Boot版本和内置容器不同,结果也不同,这里以Spring Boot 2.7.10版本 + 内置Tomcat容器举例。概序在SpringBoot2.7.10版本中内置Tomcat版本是9.0.73,SpringBoot内置Tomcat的默认设置如下:Tomcat的连接等待队列长度,默认是100Tomcat的最大连接数,默认是8192Tomcat的最小工作线程数,默认是10Tomc...
2023-09-11 22:53:29
759
转载 (待会删)yyds!疯传全网的AI资源,请低调使用!
随着ChatGPT的火热出圈,AI大模型在全球掀起一轮开发浪潮!Google、百度、腾讯等各个科技公司,都在高薪挖掘AI大模型人才!然而大多数程序员——不熟悉AI领域发展,找不到自己的职业坐标;想要入手系统学习 AI,算法基础还并不扎实,模型背后的数学原理没有太深的了解……想要入局AI,零成本学习AI大模型技术?????今天为粉丝们争取到了这份宝藏资料——AI大模型资料包!资料包含:????价值1077元的1...
2023-09-03 23:01:49
487
转载 奇淫巧技,CompletableFuture 异步多线程是真的优雅
一个示例回顾Future一些业务场景我们需要使用多线程异步执行任务,加快任务执行速度。JDK5新增了Future接口,用于描述一个异步计算的结果。虽然 Future 以及相关使用方法提供了异步执行任务的能力,但是对于结果的获取却是很不方便,我们必须使用Future.get()的方式阻塞调用线程,或者使用轮询方式判断Future.isDone任务是否结束,再获取结果。这两种处理方式都不是很优雅,...
2023-08-09 23:01:54
425
转载 别再分库分表了,来试试TiDB!
什么是NewSQL传统SQL的问题升级服务器硬件数据分片NoSQL 的问题优点缺点NewSQL 特性NewSQL 的主要特性三种SQL的对比TiDB怎么来的TiDB社区版和企业版TIDB核心特性水平弹性扩展分布式事务支持金融级高可用实时 HTAP云原生的分布式数据库高度兼容 MySQLOLTP&OLAP(自学)OLTP(联机事务处理)OLAP(联机分析处理)特性对比设计角度区别TiDB 整...
2023-07-31 22:54:16
473
转载 10倍提升效率,号称取代 Elasticsearch 的轻量级搜索引擎到底有多强悍?
Manticore Search介绍Manticore Search 是一个使用 C++ 开发的高性能搜索引擎,创建于 2017 年,其前身是 Sphinx Search 。Manticore Search 充分利用了 Sphinx,显着改进了它的功能,修复了数百个错误,几乎完全重写了代码并保持开源。这一切使 Manticore Search 成为一个现代,快速,轻量级和功能齐全的数据库,具有出色...
2023-07-18 23:00:49
433
转载 一款可以替代 Postman 的 IDEA 神级插件,更快更高效!
Restful Fast Request 是 IDEA 版 Postman,它是一个强大的 restful api 工具包插件,可以根据已有的方法帮助您快速生成 url 和 params。Restful Fast Request = API 调试工具 + API 管理工具 + API 搜索工具。它有一个漂亮的界面来完成请求、检查服务器响应、存储你的 api 请求和导出 api 请求,插件帮助你在 ...
2023-07-12 23:16:45
1028
转载 如何使用枚举来消除 if/else(进阶版)
今天,准备重新学习一下 Java 中的枚举类型。为什么现在要去重新学习呐?因为在刚开始学习 Java 的时候,对于枚举这一块的学习不太重视,工作之后呐,又基本上没用过枚举。导致对枚举这个数据类型不太明白,有时候看到别人的代码里用的枚举类型以及相关操作,觉得用的还挺好,就有了重新学习一下的冲动。话不多说,开始学习!定义枚举是什么意思呐?百度百科的说法是这样的:在数学和计算机科学理论中,一个集的枚举是...
2023-07-08 19:45:31
439
转载 Maven官宣:干掉Maven和Gradle!推出更强更快更牛逼的新一代构建工具,炸裂!
文章来源:https://blog.youkuaiyun.com/weixin_48321993/article/details/125979820前言相信作为Java开发者的你早已经受够了maven的编译缓慢,但是又由于历史包袱、使用习惯等问题暂时切换不了其他更快的构建工具,这里笔者将给你介绍一款更快的maven——maven-mvnd。一.介绍maven-mvnd是Apache Maven团队借鉴了Gra...
2023-07-03 22:55:53
324
转载 SpringBoot 中的多线程事务处理太繁琐?一个自定义注解直接搞定!
前言我们开发的时候常常会遇到多线程事务的问题。以为添加了@Transactional注解就行了,其实你加了注解之后会发现事务失效。原因:数据库连接spring是放在threadLocal里面,多线程场景下,拿到的数据库连接是不一样的,即是属于不同事务。本文是基于springboot的@Async注解开启多线程,,并通过自定义注解和AOP实现的多线程事务,避免繁琐的手动提交/回滚事务 (CV即用、...
2023-06-25 22:54:25
455
转载 SpringBoot 监控神器——Actuator 保姆级教程
点击关注公众号,Java干货及时送达????来源:blog.youkuaiyun.com/yunfeather/article/details/122581536pom.xmlinfobeansconditionsheapdumpshutdownmappingsthreaddumploggers 端点metrics 端点自定义Endpoint自定义监控端点常用注解使用Filter对访问actuator做限制Spri...
2023-06-24 23:21:39
522
转载 Spring 赌上未来的一击,响应式的 WebFlux 框架更优雅,性能更强!
Spring-webflux简介spring-webflux是spring在5.0版本后提供的一套响应式编程风格的web开发框架,大量测评证明,使用WebFlux开发接口能够大幅提升接口的吞吐量。这个框架包含了spring-framework和spring mvc,它可以运行在Netty、Undertow以及3.1版本以上的Serlvet容器上。你可以在项目中同时使用spring-webmvc和s...
2023-06-23 23:07:01
467
转载 SpringBoot线上服务假死,CPU内存正常,什么情况?
背景开发小伙伴都知道线上服务挂掉,基本都是因为cpu或者内存不足,出现GC频繁OOM之类的情况。本篇文章区别以上的情况给小伙伴们带来不一样的服务挂掉。还记得哔哩哔哩713事故中那场诡计多端的0吗?对就是这个0,和本次事故没关系,但深受启发。问题排查老规矩在集群环境中同一个服务几个节点无响应。如不及时解决会可能形成雪崩效应。优先查看服务日志是否有报错,礼貌习惯性查看服务cpu及内存情况。先复习下,若...
2023-06-17 23:12:35
373
转载 只会SpringMVC了,太Low了!Spring又官宣了一个更牛逼的替代框架!
来源:blog.youkuaiyun.com/yasin_huang/article/details/106556935# Spring-webflux简介spring-webflux是spring在5.0版本后提供的一套响应式编程风格的web开发框架。这个框架包含了spring-framework和spring mvc,它可以运行在Netty、Undertow以及3.1版本以上的Serlvet容器上。你可以...
2023-06-14 23:24:01
322
转载 大公司为什么禁止SpringBoot项目使用Tomcat?
文章来源:https://blog.youkuaiyun.com/emprere/article/details/125567978前言在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。同时,SpringBoot也支持Undertow容器,我们可以很方便的用Undertow替换Tomcat,而Undertow的性能和内存使用方面都优...
2023-06-12 22:55:38
331
转载 2023最新互联网公司工作时长排行榜出炉,第一名居然是它.....
今天给大家分享一个对于选择公司来说另一个非常重要的参考指标:“互联网时长”。正文图片我们在选择一个公司的时候,除了需要关注总收入package以外,还需要考虑这家公司的加班时长是否人性化。大概一年前的这个时候,职级对标就在提交薪酬表单中增加了提交工作时长功能。因为在讨论薪酬的时候,工作时长是一个决定性的指标。我们的工作时长是周工作小时数。法定工作时间是40小时(965)。大小周通常折算为周工作6...
2023-06-10 22:59:17
306
转载 最强 Linux 命令总结(特别推荐版)
虽然平时大部分工作都是和Java相关的开发, 但是每天都会接触Linux系统, 尤其是使用了Mac之后, 每天都是工作在黑色背景的命令行环境中. 自己记忆力不好, 很多有用的Linux命令不能很好的记忆, 现在逐渐总结一下, 以便后续查看.基本操作Linux关机,重启#关机shutdown-hnow#重启shutdown-rnow查看系统,CPU信息#查看系统内核信息una...
2023-06-09 23:06:41
422
转载 既然有了HTTP,为什么还要RPC?
点击关注公众号,Java干货及时送达????HTTP接口和RPC接口都是生产上常用的接口,顾名思义,HTTP接口使用基于HTTP协议的URL传参调用,而RPC接口则基于远程过程调用。RPC(即Remote Procedure Call,远程过程调用)和HTTP(HyperText Transfer Protocol,超文本传输协议),两者前者是一种方法,后者则是一种协议。两者都常用于实现服务,在这个层面...
2023-06-08 23:32:32
318
转载 40亿个QQ号,限制1G内存,如何去重?
40亿个QQ号,限制1G内存,如何去重?40亿个unsigned int,如果直接用内存存储的话,需要:4*4000000000 /1024/1024/1024 = 14.9G ,考虑到其中有一些重复的话,那1G的空间也基本上是不够用的。想要实现这个功能,可以借助位图。使用位图的话,一个数字只需要占用1个bit,那么40亿个数字也就是:4000000000 * 1 /8 /1024/1024 = ...
2023-05-25 23:06:28
199
转载 SpringBoot项目如何打包成exe应用程序?
来源:blog.youkuaiyun.com/m0_37701381Java jar打包成exe应用程序,可在无JDK/JRE环境下运行前言近期做了一个前后端合并的spring boot项目,但是要求打包城exe文件,提供给不懂电脑的小白安装使用,就去研究了半天,踩了很多坑,写这篇文章,是想看到这篇文章的人,按照我的步骤走,能少踩坑。准备准备工作:一个jar包,没有bug能正常启动的jar包exe4j,一个将...
2023-05-24 23:05:38
1022
转载 工资3000,靠海外抖音TiKToK月入2万+:原来现在聪明人都在靠这个赚钱!
现代人的“懒”简直超乎你想象,吃饭靠外卖,买东西靠快递……凡是一切你能想到的“麻烦”,现代科技都能替你搞定而这,恰恰是一种新型的赚钱方式!十年前的淘宝被人嘲笑,说是马云的异想天开。十年后的淘宝、拼多多、京东告诉你,这一切都已成真。但国内市场饱和,竞争不断压缩获利空间,最终几乎无利可图。有人说现在电商已经不好做了,抖音不好做了。有人却把眼光转向市场更加开阔的国外。利用国内发达的网购系统和丰富成熟内容...
2023-05-22 14:24:10
657
转载 ChatGPT 的 18 种玩法,惊到我了!!
点击关注公众号,Java干货及时送达????来源:blog.youkuaiyun.com/weixin_42475060/article/details/129399125语法更正文本翻译语言转换代码解释-1代码解释-2修复代码错误作为百科全书信息提取好友聊天创意生成器采访问题论文大纲故事创作问题类比创建SQL需求情感分析将产品描述转变为广告关键字提取闲聊机器人你确定,你会使用 ChatGPT 了吗?今天给大家整理...
2023-05-21 23:17:42
358
转载 告警:线上慎用 BigDecimal !
点击关注公众号,Java干货及时送达????来源:cnblogs.com/zhangyinhua/p/11545305.html一、BigDecimal概述二、BigDecimal常用构造函数三、BigDecimal常用方法详解四、BigDecimal格式化五、BigDecimal常见异常六、BigDecimal总结一、BigDecimal概述Java在java.math包中提供的API类BigDeci...
2023-05-12 23:08:15
184
宠物医院管理系统
2018-04-26
2015年第六届蓝桥杯大赛个人赛决赛(软件类)真题
2017-04-14
Java 软件结构与数据结构第四版源代码
2017-03-27
学习成绩管理系统easyui+mvc .net实现
2017-01-16
java web学习的所有api中文文档
2016-08-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人