- 博客(496)
- 资源 (1)
- 收藏
- 关注
转载 从迷茫到自信:我的Java后端开发成长之路
接着,A同事就仔细地教我,后端开发应该如何分层,为什么要分层,每个层的作用,开发应该侧重哪个层,数据应该怎样设计……”,不到一个小时,连调试都不用调,直接运行,然后在浏览器输入接口名称,就看到一段运行成功的字符串…那时候,每天都精神满满,都不觉得累,也没有埋怨,更多是学习新东西,和创作新东西的喜悦。慢慢的,我开始熟悉整个开发流程,感觉我已经爱上这种模式,为了能更好更快的写代码,我搬到公司里住。我之前也像很多程序员小白一样,很迷茫,你说编程吧,我会一点,但又学得不是很深入那种,项目经验更是渣得无地自容。
2024-08-23 20:57:16 3
转载 远离底层思维的人
作者:洞见·姜榆木圈子的层次,决定你人生的层次。作家周乐在《正思维心理学》中,提过一个“底层影响因子”的概念。当你面对那些思维层次比你低的人时,即使你费尽口舌,对方也听得毫无头绪。相反,你很容易受对方影响,主动拉低自己的层次,融入对方的圈层。久而久之,你会发现自己,不知不觉成为了他们中的一个。周乐指出,一个人的思维水平越低,身上的影响因子就越显著。和这种人相处,你很难改变对方,却极容易被对方带偏。心理学家曾在人际交往的研究中,总结过4种普遍的底层思维。
2024-08-13 14:06:57 17
转载 业务开发方法与实践–业务篇
回顾软件开发行业,业务建模方法随着IT系统融入商业领域而蓬勃发展,因为在原有商业领域中通过信息系统对原有业务流程实施自动化改进能提供巨大的增益,这个过程和方法的应用能力,也形成了行业咨询面向业务领域提供业务再造/解决方案的核心竞争力。业务建模相对其它方法论有完整的理论基础(OOAD)和支撑工具,其各环节的应用在面向行业深度定制解决方案时发挥价值(如金融业核心业务系统的解决方案)。
2024-08-06 22:11:35 45
转载 Redis 6.0 新特性-多线程连环13问!
epoll是最新的也是目前最好的多路复用技术。这个版本提供了诸多令人心动的新特性及功能改进,比如新网络协议RESP3,新的集群代理,ACL等,其中关注度最高的应该是“多线程”了,笔者也第一时间体验了一下,带着众多疑问,我们来一起开始“Redis 6.0 新特性-多线程连环13问”。Redis将所有数据放在内存中,内存的响应时长大约为100纳秒,对于小数据包,Redis服务器可以处理80,000到100,000 QPS,这也是Redis处理的极限了,对于80%的公司来说,单线程的Redis已经足够使用了。
2024-08-01 16:33:10 42
转载 彻底搞懂Redis的线程模型
为了接下来一篇博客,能使读者更加完整地学习线程模型,所以本文对Redis的线程模型进行必要的讲解。由于《Redis设计与实现》对于Redis的讲解简练优雅,所以本文大部分内容节选自本书,也欢迎对Redis有更多底层了解需求的读者,自行购买学习。Redis设计与实现。
2024-08-01 16:17:28 63
转载 《罗辑思维》视频停了!背后意义是?
宋朝哲学家王阳明的「知行合一」,讲的不只是「想什麽与做什么同步」,更重要的是「从行动的角度来思考」。不确定是否是过去与Papi酱的合作有所感慨,发现网红爬的愈高、摔的也越重,一旦不能急流勇退,中间只要出一次差错,很可能从此万劫不复,一切归零。如果你跑到一个下降的环境,那么对你来说最大的损失,并不是加薪问题,而是学习环境的失去,因为牛人们都跑啦。更残酷的是,现在社会上很多行业已经不讲求「知识、技能的高深」,相较之下,更看重「抛弃旧知识、拥抱新知识」的速度。能够不断「迭代」自己的人,才能够成为最尖端的那批人。
2024-07-31 14:47:59 31
转载 hutool依赖:BeanUtil工具类的使用:对象转对象、对象转map、map转对象
【代码】hutool依赖:BeanUtil工具类的使用:对象转对象、对象转map、map转对象。
2024-07-23 18:06:34 124
原创 java中,Map<Object, Object> 直接转为User对象
假设有一个User对象,需要 使用 stream流 实现 Map 直接转为User对象,其中 Map的key就是 User的属性名称,所以,然后使用 User 的属性名称去匹配 Map的key,匹配中了之后,自动转为对应的数据类型,使用 user.setXXX 方法赋值。:展示如何将 Map 转换为 User 对象,并打印对象的属性值。
2024-07-23 17:49:01 331
转载 内娱影视行业的工业化困境与出路:从技术到文化的全方位剖析
一个产业的工业化有五个特征,但学术语言说出来不太像人话,所以我给大家综合简化了一下,主要呢就是三个点:技术标准化、制度规范化、组织结构化。说白了就是要建立一套技术标准、制度规范的完整产业体系。先来说第一个,技术标准化。年月日,全国电影标准化技术委员会成立,导演郭帆出任委员代表。这个信息可以说是我们电影行业走向工业化的第一步。那为什么要追求技术标准化呢?它是为了提升整个行业的专业性,不要让外行来做内行的事,更不要让外行来指导内行。我们还是拿韩娱来做例子啊。你会发现他们演员的上限虽然高度不同,但下限却出奇的
2024-07-17 13:59:58 34
原创 VMware Workstation pro v17.5.2 官方下载地址
直接上官方包链:softwareupdate.vmware.com/cds/vmw-desktop/ws/17.5.2/23775571/
2024-07-12 09:34:55 442 1
转载 MySQL数据库面试题(2020最新版)
结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询语言。作用:用于存取数据、查询、更新和管理关系数据库系统。MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
2024-07-07 10:37:31 28
原创 maven-jar-plugin在springboot中打包成普通引用的jar
特定结构的普通jar包(例如,一个可以被其他项目作为依赖引用的库),您需要在。这里是一个示例配置,它将创建一个带有。如果您想要创建一个不包含。
2024-06-26 18:06:09 432
原创 知行合一与思行合一
侧重点知行合一:侧重于知识(认知、理论)与行动的统一。强调知识指导实践,实践检验知识。思行合一:侧重于思想(思考、计划)与行动的统一。强调思考指导行动,行动检验思考。应用场景知行合一:多用于教育、道德修养、管理等领域,强调理论知识与实际应用的结合。思行合一:多用于决策、创新、战略等领域,强调在行动之前进行充分的思考和计划。内涵的广度知行合一:内涵更广泛,包括思想、知识和认知等方面。思行合一:更侧重于思维与行动的紧密结合,强调思考过程的重要性。知行合一和思行合一。
2024-06-24 16:19:26 797
转载 Spring Boot 为什么这么火
在 Spring Boot 中,Starter 是为快速应用开发提供“一站式服务”的依赖(Dependency)。Starter 使得开发人员在开始编写新的模块时不需要拷贝样板式的配置文件、编写样板式的代码,只需要提供最简单的配置即可开始编程。Spring Boot Starter 有两个核心组件:自动配置代码和提供自动配置模块及其它有用的依赖。
2024-06-22 11:28:32 32
转载 缓存与数据库一致性问题深度剖析
本篇文章是我之前系列文章中的一篇,主要讨论了我们在平时的开发过程中,各大系统中都要用到的缓存数据的问题,进一步延伸到数据库和缓存的双写一致性问题,并且给出了所有方案的实现代码方便大家参考。
2024-06-22 11:13:48 30
转载 MyBatis 中的缓存机制
MyBatis是常见的Java数据库访问层框架。在日常工作中,开发人员多数情况下是使用MyBatis的默认缓存配置,但是MyBatis缓存机制有一些不足之处,在使用中容易引起脏数据,形成一些潜在的隐患。个人在业务开发中也处理过一些由于MyBatis缓存引发的开发问题,带着个人的兴趣,希望从应用及源码的角度为读者梳理MyBatis缓存机制。本次分析中涉及到的代码和数据库表均放在GitHub上,地址:。
2024-06-22 01:24:16 54
转载 Hexo 问题 matery 代码块花括号转义高亮渲染问题
点击头像,进入 Settings,有个 Developer Setting,里面有一个 Token 的,全选 generate 即可。早在之前写的文章里面有一篇叫 “Python Flask模板注入的文章”,在那里面加入了。所以后续我有一篇文章 “从0到1 完全掌握 SSTI” 中没有加入这一判断,就报错了。当删除完已经发布的文章之后要 hexo clean,再 hexo g,hexo d。终于解决了,累死了……代码语法高亮的支持,本主题对此进行了改造支持。,如果你想定制自己的主题,可以前往。
2024-06-20 11:54:16 49
转载 Hexo博客的安装与本地配置
欢迎使用Hexo官方文档将帮助您快速上手。如果您在使用过程中遇到问题,请查看问题解答中的解答,或者在GitHub、Google Group 上提问。什么是 Hexo?Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。至此,您的Hexo 博客的安装与本地配置已完毕!Hexo博客的安装与本地配置。
2024-06-18 10:58:39 68
原创 基于Spring框架的应用:构建企业级应用的业务逻辑层
业务逻辑层是一个应用程序中负责处理具体业务规则和逻辑的层。它位于表示层(Presentation Layer)和数据访问层(Data Access Layer)之间,起到连接用户界面与数据库的桥梁作用。业务是指一个组织或企业所从事的活动和操作,其目的是为了达到某种特定的目标,通常是为了盈利、提供服务或生产产品。业务涉及一系列有组织的任务和活动,包含特定的业务规则和流程,这些规则和流程决定了业务如何运作。业务逻辑层:负责实现业务规则和逻辑,将用户请求转化为数据操作,并确保数据的一致性和完整性。业务。
2024-06-17 12:13:04 334
转载 行业壁垒及其应对策略
行业壁垒是指跨行业经营者丢掉擅长的业务而去开拓不擅长业务所会遇到的“陌生的困难”,壁垒的高低是由市场竞争、社会发展状况、法律体系完善程度等综合因素决定的。行业壁垒是阻止或限制进入某一行业的障碍。是保护市场、排除竞争的有效手段和重要方法。行业壁垒越坚固,市场障碍越多,企业越难以加入,市场垄断程度越高,竞争相对缓和;行业壁垒越薄弱,市场障碍越少,企业越易于加入,市场垄断程度越低,竞争相对激烈。
2024-06-16 21:24:02 260
转载 在 GraalVM 静态编译下无侵入实现可观测探索
随着云原生浪潮的蓬勃发展,利用云原生技术为企业应用提供极致的弹性能力是企业数字化升级的核心诉求。但 Java 作为一种解释执行+运行时实时编译的语言,相比于其他静态编译型语言天生具有如下不足,严重影响了其快速启动与扩缩容效果。要搞清楚什么是静态插桩?不得不提其相对的一个概念:动态插桩。
2024-06-16 13:37:15 31
原创 Ubuntu 22.04 解决 firefox 中文界面乱码
如果之前安装了标准版的Firefox,ESR版本将作为一个单独的应用安装,不会替换掉原有的版本。为了避免在Ubuntu 22.04中文模式下的乱码问题,可以从Snap商店安装Firefox的ESR(Extended Support Release)版本。在为Ubuntu 22.04 Server安装完整的GNOME 42.01桌面后,将桌面语言设置为中文时,打开Firefox可能会出现中文乱码的问题。通过这些步骤,就可以解决Ubuntu 22.04中Firefox中文模式下的乱码问题。
2024-06-16 03:24:06 903
原创 Spring Boot 项目中的 GC Root
Autowired@Service@Autowired@MapperSpring上下文管理的控制器、服务和MapperServlet容器中的长生命周期对象数据库连接池中的连接对象活动线程这些组件和对象由于它们在应用程序中的关键角色,会被GC Root引用,从而不会被垃圾回收。理解这些GC Root的来源,对于调试和优化Spring Boot应用程序的内存使用非常重要。
2024-06-15 19:20:09 909
转载 [最佳实践] quarkus编译二进制可执行文件
本节将前两节的工程代码打包成window上可执行的二进制文件,拓展名为exe。这一节主要会有些坑,本节主要参考官方文档。
2024-06-15 10:50:41 67
转载 Ubuntu 20.04.5有线网络:设备未托管,解决方法
2、修改 /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf。转载: https://blog.csdn.net/haivue/article/details/132192733。问题描述:系统装完每次重新启动网络都需要使用 sudo dhclient 才能自动获取IP。1、修改 /etc/NetworkManager/NetworkManager.conf。平台:飞腾 D2000+X100。网卡:网讯wx1860。
2024-06-15 01:16:44 300
转载 一文详解|从JDK8飞升到JDK17,再到未来的JDK21
这么多新版本的 JDK,而且2022年还会推出 JDK 18 和 JDK 19,为什么 Spring 选择了 JDK 17呢。主要是因为他是一个 Oracle官宣可以免费商用的LTS版本,所谓 LTS,是 Long Term Support,也就是官方保证会长期支持的版本。上面这张图是 Oracle 官方给出的 Oracle JDK 支持的时间线。可以看得到,JDK 17 最多可以支持到 2029 年 9 月份。
2024-06-14 12:10:17 1989
转载 过两年 JVM 可能就要被 GraalVM 替代了
虽然我们还没有看到有哪个公司说在用 GraalVM 了,但是QuarkusSpring等很多的框架都已经支持 GraalVM 的 Native-image 模式,而且在 Orcale 的大力推广下,相信不久之后就会出现在更多的产品中。赶紧体验一下吧。过两年 JVM 可能就要被 GraalVM 替代了)
2024-06-14 12:03:23 116
原创 勤俭节约的重要性及实践方法
通过减少不必要的消费和浪费,我们可以减少对自然资源的依赖,保护生态环境。在家庭层面,通过精打细算和合理消费,我们可以有效地管理家庭开支,提高生活质量。其次,勤俭节约有利于个人和家庭的经济效益,使我们在生活中更加从容和稳定。它不仅有助于提高个人和家庭的经济效益,还能促进社会的可持续发展和环境保护。作为现代社会的一员,我们应当继承和发扬这一传统美德,自觉践行勤俭节约,为自己和未来创造更美好的生活。它体现了对资源的尊重和对未来的负责,是我们应对资源有限和环境问题的重要手段。
2024-06-13 11:06:06 304
转载 MinorGC、MajorGC、FullGC差异
GC,即就是Java垃圾回收机制。目前主流的JVM(HotSpot)采用的是分代收集算法。与C++不同的是,Java采用的是类似于树形结构的可达性分析法来判断对象是否还存在引用。即:从gcroot开始,把所有可以搜索得到的对象标记为存活对象。
2024-06-13 11:04:10 49
转载 线程TLAB局部缓存区域(Thread Local Allocation Buffer)
2、Sun Hotspot JVM为了提升对象内存分配的效率,对于所创建的线程都会分配一块独立的空间TLAB(Thread Local Allocation Buffer), 其大小由JVM根据运行的情况计算而得,在TLAB上分配对象时不需要加锁,因此JVM在给线程的对象分配内存时会尽量的在TLAB上分配。1、堆是JVM中所有线程共享的,因此在其上进行对象内存的分配均需要进行加锁,这也导致了new对象的开销是比较大的。4、所有新创建的Object 都将会存储在新生代Yong Generation中。
2024-06-12 15:31:59 38
转载 Java内存泄漏分析和解决
内存泄漏:对象已经没有被应用程序使用,但是垃圾回收器没办法移除它们,因为还在被引用着。在Java中,内存泄漏就是存在一些被分配的对象,这些对象有下面两个特点,首先,这些对象是可达的,即在有向图中,存在通路可以与其相连;其次这些对象是无用的,即程序以后不会再使用这些对象。如果对象满足这两个条件,这些对象就可以判定为Java中的内存泄漏,这些对象不会被GC所回收,然而它却占用内存。在C++中,内存泄漏的范围更大一些。有些对象被分配了内存空间,然后却不可达,由于C++中没有GC(
2024-06-12 10:56:33 93
转载 Java 虚拟机(JVM)之基本概念
8、PC寄存器:每个线程私有的空间,Java虚拟机会为每个线程创建PC寄存器,在任意时刻,一个Java线程总是在执行一个方法,这个方法被称为当前方法,如果当前方法不是本地方法,PC寄存器就会执行当前正在被执行的指令,如果是本地方法,则PC寄存器值为undefined,寄存器存放如当前执行环境指针、程序计数器、操作栈指针、计算的变量指针等信息。3、Java堆:在java虚拟机启动的时候建立Java堆,它是java程序最主要的内存工作区域,几乎所有的对象实例都存放到Java堆中,堆空间是所有线程共享的。
2024-06-11 10:31:12 36
转载 Java 浅拷贝和深拷贝
开发过程中,有时会遇到把现有的一个对象的所有成员属性拷贝给另一个对象的需求。比如说对象 A 和对象 B,二者都是 ClassC 的对象,具有成员变量 a 和 b,现在对对象 A 进行拷贝赋值给 B,也就是 B.a = A.a;B.b = A.b;这时再去改变 B 的属性 a 或者 b 时,可能会遇到问题:假设 a 是基础数据类型,b 是引用类型。当改变 B.a 的值时,没有问题;
2024-06-11 09:05:02 42
转载 Java虚拟机(JVM)面试题
CMS 是英文 Concurrent Mark-Sweep 的简称,是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。在启动 JVM 的参数加上“-XX:+UseConcMarkSweepGC”来指定使用 CMS 垃圾回收器。
2024-06-10 10:44:47 49
转载 不可不说的Java“锁”事
Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8和Netty 3.10.6)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快捷的理解相关知识。本文Java中常用的锁以及常见的锁的概念进行了基本介绍,并从源码以及实际应用的角度进行了对比分析。
2024-06-08 10:10:12 41
原创 Java 并发编程中的 synchronized 关键字及其现代优化技术
在早期版本的 Java 中,关键字被认为是重量级锁,效率较低,这与其底层实现机制密切相关。要深入理解这个问题,需要结合计算机系统的相关原理,包括操作系统、线程管理、以及用户态和内核态的转换。Java 的 synchronized 关键字在早期版本中被认为是重量级锁,效率较低。这主要是因为 synchronized 依赖于操作系统提供的互斥锁,并且涉及频繁的用户态和内核态转换,导致高昂的性能开销。
2024-06-07 21:40:10 958
转载 2012,改变人类命运的180天
文章摘要本文回顾了2012年对人类命运产生重大影响的180天,以及这段时间内深度学习和人工智能的重要突破。文章介绍了谷歌猫项目和AlexNet算法的诞生,以及这些事件对人工智能领域的影响。• 2012年的ImageNet挑战赛标志着深度学习的突破,推动了人工智能的发展。• 辛顿教授和他的学生通过创造新的神经网络算法AlexNet,以惊人的识别准确率夺得ImageNet比赛冠军。• 这些突破引发了人才争夺战,科技公司纷纷挖掘顶级学者和研究人员,推动了人工智能产业的快速发展。
2024-06-07 18:21:34 50
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人