- 博客(34)
- 收藏
- 关注
原创 程序员该敬畏每一行代码?填好每一个坑才是
每个程序员的心里是否敬畏每一行代码不可而知,但填好每一个坑是每个程序员的必修课。你是否经常遇到这样的情景:负责开发的项目遇到线上bug,心想这不是我的锅,先不管了,放着吧;代码写完后,隐隐感觉有问题,可程序跑得通,先用着吧;接手一个老系统,这什么破代码,算了,改吧改吧将就用吧……今天绕过的坑明天将加倍回来:下次再改这块代码你仍然遇上它,只能硬着头皮一行行捋代码解决;线上某种场景触发问题代码,造成意想不到的崩溃;老系统改起来太费时间和容易踩坑,不如花时间重构。测试向你吐槽你写的bug,你否认道,这是前
2022-03-27 20:04:07 5544
原创 Java面试经验+最新BAT面试资料分享给大家
前言致那些迷茫的JAVA面试者(特别是南京的1-4年经验),致那些奋发的年轻人,致自己。写这篇博文主要也是对我的成长道路的记录,面试受挫后的反思,及对自己的勉励。Java面试经验总结最近3个月一口气面了十几家公司的Java开发岗,大大小小的面试笔试加起来快20场,收获很多。本人即将毕业,在一家国企实习做java开发,感觉自己很水,刚开始面试时发现自己掌握的东西与外面企业流行的技术有些代差,所以一边面试一边总结,感觉面试时问的东西明显和自己平常了解的不太一样,所以给自己做了一个总结,希望对以后的面试有所
2022-03-27 20:01:30 490
原创 就靠2022版Java面试的复盘手册才有一战之力,我战胜了
前言:最近有不少小伙伴表示内卷实在是太严重了,不少程序员都有辞退失业或跳槽的想法,今天给大家分享的这份手册可以快速帮大家找到正确思路,无论你是失业还是跳槽都推荐你看一看,这份手册涵盖了市面上 90%的 Java 面试内容,十分全面!不到最后一刻千万不要放弃,也不要灰心,哪怕到十一月还没有拿到 offer 也没关系,殊不知等到年底补录的时候也是一个非常容易进大厂拿 offer 的机会。不管你的向往是拿下大厂 offer?还是几万年薪?其实这些都离不开日积月累的过程。(2022 版)面经 + 详细笔记部
2022-03-26 21:13:48 467
原创 java面试中经常会被问到分布式面试题
1、Dubbo的底层实现原理和机制–高性能和透明化的RPC远程服务调用方案–SOA服务治理方案Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况2、描述一个服务从发布到被消费的详细过程务。首先先获取zk的配置信息,然后获取需要暴露的url,然后调用registry.register方法将url注册到zookeeper上去。3、分布式系统怎么做服务治理针对互联网业务的特点,eg 突发的流量高峰、网络延时、机房故障等
2022-03-26 21:10:20 184
原创 JVM的新生代、老年代、MinorGC、MajorGC
JVM中的堆,一般分为三大部分:新生代、老年代、永久代:一:新生代:主要是用来存放新生的对象。一般占据堆的1/3空间。由于频繁创建对象,所以新生代会频繁触发MinorGC进行垃圾回收。 新生代又分为 Eden区、ServivorFrom、ServivorTo三个区。 Eden区:Java新对象的出生地(如果新创建的对象占用内存很大,则直接分配到老年代)。当Eden区内存不够的时候就会触发MinorGC,对新生代区进行一次垃圾回收。 ServivorTo:保留了一次MinorGC过程中的幸存者。
2022-03-19 18:15:23 966
原创 面试必问:JVM类加载机制详细解析
前言在Java面试中,简历上有写JVM(Java虚拟机)相关的东西,JVM的类加载机制基本是面试必问的知识点。类的加载和卸载JVM是虚拟机的一种,它的指令集语言是字节码,字节码构成的文件是class文件。平常我们写的Java文件,需要编译为class文件才能交给JVM运行。可以这么说:C语言代码——>二进制文件——>计算机硬件,就相当于Java代码——>字节码文件——>JVM。JVM将指定的class文件读取到内存里,并运行该class文件里的Java程序的过程,就称之为类的
2022-03-19 18:11:43 271
原创 面试必问:JVM类加载机制详细解析
前言在Java面试中,简历上有写JVM(Java虚拟机)相关的东西,JVM的类加载机制基本是面试必问的知识点。类的加载和卸载JVM是虚拟机的一种,它的指令集语言是字节码,字节码构成的文件是class文件。平常我们写的Java文件,需要编译为class文件才能交给JVM运行。可以这么说:C语言代码——>二进制文件——>计算机硬件,就相当于Java代码——>字节码文件——>JVM。JVM将指定的class文件读取到内存里,并运行该class文件里的Java程序的过程,就称之为类的
2022-03-19 18:10:29 895
原创 【Rainbond最佳实践】Spring Boot框架配置MySQL
Rainbond开源软件介绍:Rainbond是国内首个开源的生产级无服务器PaaS。深度整合基于Kubernetes的容器管理、多类型CI/CD应用构建与交付、多数据中心的资源管理等技术,提供云原生应用全生命周期解决方案,构建应用与基础设施、应用之间及基础设施之间的互联互通生态体系。12月12日,Rainbond正式开源。[Rainbond详细介绍][Rainbond项目地址]Spring Boot框架简化了新Spring应用的初始搭建以及开发过程,云帮支持平台部署Spring Boot类应
2022-03-18 18:44:19 322
原创 Spring Boot整合SpringMVC应用
MVC(Model–view–controller)是软件工程中的一种软件架构模式,基于此模式把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。目的是通过这样的设计使程序结构更加简洁、直观,降低问题的复杂度。其中各个组成部分的职责为:视图(View) - UI设计人员进行图形界面设计,负责实现与用户交互。控制器(Controller)- 负责获取请求,处理请求,响应结果。模型(Model) - 实现业务逻辑,数据逻辑实现。我们在软件设计时,通常要遵
2022-03-18 18:38:46 1319
原创 [资源分享] 架构的目的
前言本文介绍架构的目的是什么,架构是解决什么问题。目的架构的目的不是为了架构而架构,不是别人做了所以自己要做,不是为了技术自嗨。。。架构的真正目的在于解决软件系统复杂度带来的问题。这条准则可以让新手架构心里有数,不会一头雾水,让老手架构有的放矢,不要贪大求全。有了指导思想,让我们来举个例子,看如何将“解决软件系统复杂度带来的问题”应用到实践。简单复杂度分析案例假设我们需要设计一个大学的学生管理系统,其基本功能包括登录、注册、成绩管理、课程管理等。当我们对这样一个系统进行架构设计的时候,首先应识
2022-03-18 18:32:53 2812
原创 【经典】《Java170道面试笔试题全面含答案》涉及java/数据库/Spring框架/JVM/数据结构算法/设计模式相关
问题目录:一、面向对象的特征有哪些方面?二、访问修饰符public,private,protected,以及不写(默认)时的区别?三、String 是最基本的数据类型吗?四、float f=3.4;是否正确?五、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?六、Java有没有goto?七、int和Integer有什么区别?八、&和&&的区别?九、解释内存中的栈(stack)、堆(heap)和静态区(s
2022-03-16 19:02:38 1286
原创 五年从程序员到架构师 架构师进阶之路
怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不只一个刚刚踏入职场的初级程序员也是工做三五年以后开始迷茫的老程序员常常会问到的问题。但愿这篇文章会是你看到过的最全面最权威的回答。nginx** 一: 编程基础**程序员不论是C仍是C++,不论是Java仍是PHP,想成为一名合格的程序员,基本的数据结构和算法基础仍是要有的。下面几篇文章从思想到实现,为你梳理出经常使用的数据结构和经典算法。 web1-1 经常使用数据结构正则表
2022-03-16 18:58:09 10264 1
原创 Java程序员的求职面试简历应该怎么写?Java常用框架有哪些?
[Java程序员]的求职面试简历应该怎么写?首先要做到信息的完整,比如基本信息、求职意向、工作经历/项目经验、个人技能这几大简历版块一定得有。然后简历内容要做到简单明了,详略得当。即要求大家简单概括自身与岗位匹配的同时,又要充分展现自己的优势。下面小编详细讲讲怎样准备一份能让自己从众多Java程序员中脱颖而出的简历,希望对大家求职面试有所帮助。1、基本信息这是简历中最简单的版块,大家只需要做到真实详尽。具体内容应该有姓名、年龄、性别以及教育背景。这里要强调的是一定要填写真实的信息,尤其是教育背景。都是.
2022-03-15 21:15:32 1340
原创 Java多线程面试题
1.什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对 运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的 持,它也是一个很好的卖点。2.线程和进程有什么区别?线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有的线程共享一片相同的内存空间。别把它和栈内存搞混.
2022-03-15 21:08:28 376
原创 分布式java应用基础与实践
始读于2014年4月30日,完成于2014年6月6日15:43:39。阿里巴巴高级研究员林昊早年的书了,这些理论放到今天估计工作一两年的人都耳熟能详了,我个人很早以前就知道此书一直没有找到资源,去年找了电子版通读了一下,里面对于性能调优、分布式部署的实战经验确有可借鉴之处,书很薄,但是知识很重。全书思维导图:1.系统间通讯的两种方式,消息方式和远程调用方式消息方式:TCP(BIO/NIO),UDP(BIO/NIO),Multicast 。开源框架:Mina/Netty (.
2022-03-14 18:01:12 417
原创 Nacos 集群部署
一、复制三份 Nacos 启动程序二、修改端口号(防止冲突),指定地址、数据库连接在所有 nacos目录的conf的目录下,有个文件 application.properties ,并将修改端口和地址、配置数据库连接。节点一server.port=8840nacos.inetutils.ip-address=127.0.0.1spring.datasource.platform=mysqldb.num=1db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?
2022-03-14 17:56:59 4192
原创 Java分布式架构:应用+特点+架构模式
目前企业应用的架构其实有很多,如高并发架构、异地多活架构、容器化架构、微服务架构、高可用架构、弹性化架构等。和这些架构相关的管理型技术方法也有很多,如 DevOps、应用监控、自动化运维、SOA 服务治理、去 IOE 等等。为了方便大家加深学习印象,千锋小编汇总了一些关于分布式架构比较细化的知识点,希望能对大家的学习有帮助~一、什么是分布式架构?分布式系统(distributed system) 是建立在网络之上的软件系统。**内聚性:**是指每一个数据库分布节点高度自治,有本地的数据库管理系统。
2022-03-14 17:51:20 2301 1
原创 10分钟掌握JavaSE-面向对象(方法重写)
Java被证明是一种主要的编程语言,这就是它成为开创性软件开发工作的首选语言的原因。在开始一个新项目的开发时,很多人总是问自己“应该使用哪些Java框架?”。Java框架是能够为您的ode添加额外功能以使事情看起来更舒适的软件工具。我们已经对此进行了研究,并提出了最好的Java框架,因此您可以决定哪个最适合您。在本文中,我们将研究以下Java框架的特性、优势和应用。SpringHibernateStrutsWicketGWTDropwizardPlayVaadinBladeGrails1.Spri
2022-03-12 18:10:32 95
原创 为什么要在2022年学习Java
Java非常流行,即使经历二十多年,仍然屹立不倒,对于一门老语言来说,能够经久不衰,可见java确实很强大,也值得很多人去学习,去深究。如果你分析掌握某种语言的长期好处,你可以轻松地选择java。让我们试着了解是什么让Java如此流行,以及为什么学习它。Java对初学者很友好Java中有更多更容易解决的实际任务。Java很容易学习,因为它的级别相对较高。这意味着你不必像对待低级语言那样深陷其中。例如,在java垃圾收集(即杀死“未使用的对象占用内存空间”)中,不需要你的参与。但同时,Java的级别很低,
2022-03-12 18:09:53 131
原创 2022年春招最新消息:IT互联网行业平均薪资18500元
2022春招新消息来了三月天气渐渐回暖,2022年第一轮求职季“金三银四”也开始啦!要找工作的各位,准备好了吗?IT互联网行业招聘薪资上涨此前,拉勾招聘发布《2022年互联网行业春招薪酬报告》,内容显示,2022年以来,互联网行业平均薪资为18500元,较去年同期增长7.5%,高于去年**6.9%**的增幅。相比去年同期,2022年开年以来互联网行业平均薪资增长18.7%。来源:拉勾网 如侵删互联网行业薪资涨幅细分从行业上看,互联网各细分领域2022年的平均薪资同比去年同期普遍有所上升,
2022-03-12 18:09:32 561
原创 Spring Boot 面试题精华
Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家。**问题一 **Spring Boot、Spring MVC 和 Spring 有什么区别?SpringFrameSpringFramework 最重要的特征是依赖注入。所有 SpringModules 不是依赖注入就是 IOC 控制反转。当我们恰当的使用 DI 或者是 IOC 的时候,我们可以开发松耦合应用。松耦合应用的单元测试可以很容易的进行。SpringMVC
2022-03-12 18:08:52 127
原创 最常见的Spring Boot面试题【附解析】
前言Spring Boot 是一套快速开发框架,随着微服务架构应用不断普及,Spring Boot 的研发技术的掌握已经成为研发人员必会技能。与此同时,Spring Boot 开源生态建设能力非常强大,提供了很多应用组件,让Spring Boot 有丰富的三方开源软件的使用。基于上面的情况,Spring Boot 基本上成为了大中型互联网公司面试的必考题。本篇小编根据大厂的一些面试题库的梳理,将核心的面试提供分享给大家1、什么是 Spring Boot?Spring Boot 是 Spring 开
2022-03-12 18:08:21 1670
原创 Java应用层数据链路追踪(附优雅打印日志姿势)
Java应用层数据链路追踪(附优雅打印日志姿势)今天来聊些大家都用得上的东西:数据链路追踪。之前引入了系统的监控来快速定位应用操作系统上的问题,而业务问题呢?在这篇文章中你可以看到用注解的方式打印日志,也能看到简易版的全链路追踪是怎么实现的。不多BB,开始吧01、注解日志打印日志的搭建我在austin最开始的前几篇已经有提及了,之前一直在等我的基友**@蛮三刀酱**他的日志组件库上传到Maven库,好让我使用使用下。在最近,他已经更新了两个版本,然后传到了Maven库了,所以我就来接入了这个组件库
2022-03-12 18:07:57 1118
原创 MyBatis 和 Spring 中的 15 种设计模式,真香,拿去用吧
不少人只会用框架,却看不懂源码,不了解其底层机制与实现原理,成了一名只会搬运源码库的开发。例如大家都知道Mybatis有9个设计模式,但是大多人只是停留在概念层面,真实开发中很少应用到,也不知道如何落地!!!Mybatis和Spring源码中使用了大量的设计模式,阅读源码并细品设计模式在其源码中的应用,能够更深入的理解设计模式。Mybatis源码中应用的设计模式使用:**Builder模式:**例如SqlSessionFactoryBuilder、XMLConfigBuilder、XMLMappe
2022-03-12 18:05:17 109
原创 【Java架构师入门到精通】案例:架构路线
针对以上这些情况我总结出一个Java程序员2-5年及以上的成长路线图。这些也是目前互联网企业比较常用的技术,那么来详细看看。(图片可以保存)JAVA****架构师内功心法做任何事之前,需要先打好基础。想入行Java,就必须掌握JavaSE基础;其次是各种设计模式都要会,常用的就二十几种,像单例模式、工厂模式等等,一定要运用得滚瓜烂熟;然后就是JavaWeb,这也是基本技能,核心有哪些,如何去运用,这个要在平时工作之中反复训练,提升熟练度。JAVA****架构师实战招式理论基础打好后,项目实战尤为
2022-03-12 18:04:52 101
原创 Java编程学习过程,一些2022年学习技巧
Java是一种开源编程语言,已经存在了几十年。它是一种面向对象的通用编程语言,在企业和初级开发人员中广受欢迎。如果您正在寻找一种编程语言作为初级程序员来学习,那么Java是一个很好的选择。让我们看看Java,为什么要学习它,以及一些开始学习它的技巧。什么是Java?Java是一种编程语言和计算平台,最初由Sun Microsystems于1995年发布。自2009年以来,Oracle定期发布版本。它是一种通用语言。这意味着您可以将它用于多种类型的应用程序,包括Web应用程序、Android应用程序、
2022-03-12 18:04:08 86
原创 为什么公司宁愿花25K重新招人,也不愿花20K留住老员工?
身在职场,经常会暗自打听同事工资,尤其是得知身边新入职同事的工资居然比自己高,还高出一大截时,心里自然很不平衡,一心想要离职。那么,为什么公司宁愿花高价招聘新员工也不愿意给老员工涨工资呢?沉重而敏感的梗说起公司“宁愿花25K重新招人,也不愿意花20K留住老员工”这个梗,沉重而敏感,真是几家欢喜几家愁。老员工立马义愤填膺,恨的牙痒痒,抱怨公司不讲人情:“招的新人,工资一个比一个高,就不明白到底比我们强在哪!”新员工则眼皮都不眨,振振有词:“不给25K,谁来你们公司啊,这就是市场行情,懂吗?”宁愿.
2022-03-11 19:18:35 193
原创 Java架构师面试题全分享,你离架构师还有多远?
经常面试一些候选人,整理了下我面试使用的题目,陆陆续续整理出来的题目很多,所以每次会抽一部分来问。答案会在后面的文章中逐渐发布出来。基础题目Java线程的状态进程和线程的区别,进程间如何通讯,线程间如何通讯HashMap的数据结构是什么?如何实现的。和HashTable,ConcurrentHashMap的区别Cookie和Session的区别索引有什么用?如何建索引?ArrayList是如何实现的,ArrayList和LinkedList的区别?ArrayList如何实现扩容。equals
2022-03-11 19:18:03 87
原创 java架构师主要是干什么的,要注意什么?
Java架构师当然是专注于Java开发架构设计的工程师。这里包含两层意思:1、Java架构师限定了工程师的专业范围,专注于Java开发;2、Java架构师明确了工作职责,主要从事Java架构设计。如果往深一层探讨,则需要明白,什么是Java开发,Java架构师的主要职责是什么?什么是JavaJava是一种程序设计语言以及该语言运行平台的总称。是1995年在印度一个生产咖啡的岛——爪哇岛上被JamesGosling等几位工程师编写的,因此命名为Java。Java可以编写跨平台应用软件以及面向对象的程
2022-03-11 19:17:24 169
原创 Java开发 | 数据结构和算法之——递归算法
著名的Pascal之父——Nicklaus Wirth(沃斯)让他获得图灵奖的一句话就是他提出的著名公式:“程序=数据结构+算法”,这个公式对计算机科学的影响类似于爱因斯坦的质能方程在物理界的影响。因此可以看出来数据结构和算法在我们开发程序中有多么的重要了,下面我们来简单认识下数据结构和算法…1. 数据结构和算法介绍数据结构介绍数据结构是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率,对于程序来说选择一个好
2022-03-11 19:16:54 2092
原创 工作2年的java程序员怎么提高技术?
回想我刚刚开始做java2年的时候, 那个时候, ssm, 什么springboot springcloud还不流行, 还是处于淘汰Struts2+Spring+Hibernate 到 Spring + SpringMVC+Hibernate 过程中. 我学习技术的方式, 因为是自学java, 所以就到处找资料学习, 并实践. 那真是一个青春的岁月. 真是学习了很多很多东西.怎么提高java技术, 应该换一个思路, 怎么提高你的编程能力.首先你基础要扎实. 这里的基础不是说Java基础. 而是算法,
2022-03-11 19:16:22 764
原创 Java常用框架有哪些?
Java作为目前最流行的后台开发技术,从1995年到现在经历了25年的发展,技术体系也是不断的丰富和完善,Java技术体系里面也提供了非常优秀和丰富的框架。那我就来说说Java体系里比较常用的框架有哪些吧。1.SSH组合一般常说的SSH组合框架,就是Struts,Spring,Hibernate,后来Struts被SpringMVC来取代,所以SSH也可以是后者的组合。在这4中框架中,Struts和Hibernate目前来看,已经比较陈旧,而且也是比较重的框架,企业中目前已经很少用了。一些二三线小公司
2022-03-11 19:15:13 22522
原创 SpringBoot 构建 Docker 镜像的最佳 3 种方式
本文将介绍3种技术,通过 Maven 把 SpringBoot 应用构建成 Docker 镜像。(1)使用 spring-boot-maven-plugin 内置的 build-image.(2)使用 Google 的 jib-maven-plugin。(3)使用 dockerfle-maven-plugin。Spring Boot 应用为了方便实践,需要一个 Spring Boot 项目。项目环境:Java 11Maven 3.6.3使用 m.
2022-03-11 19:13:50 1467
原创 Java 进阶面试问题列表及思维导向图
面向对象编程的基本理念与核心设计思想解释下多态性(polymorphism),封装性(encapsulation),内聚(cohesion)以及耦合(coupling)。继承(Inheritance)与聚合(Aggregation)的区别在哪里。你是如何理解干净的代码(Clean Code)与技术负债(Technical Debt)的。描述下常用的重构技巧。阐述下 SOLID 原则。其他的譬如 KISS,DRY,YAGNI 等原则又是什么含义。什么是设计模式(De.
2022-03-11 19:13:06 125
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人