- 在软件开发的过程中,可以说调试是一项基本技能。调试的英文单词为 debug ,顾名思义,就是去除 bug 的意思。俗话说的好,编程就是制造 bug 的过程,所以 debug 的重要性毋庸置疑,如果能熟练掌握调试技能,也就可以很快的定位出代码中的 bug。要知道,看的懂代码不一定写的出代码,写的出代码不一定能调试好代码,为了能写出没有 bug 的代码,我们必须得掌握一些基... 在软件开发的过程中,可以说调试是一项基本技能。调试的英文单词为 debug ,顾名思义,就是去除 bug 的意思。俗话说的好,编程就是制造 bug 的过程,所以 debug 的重要性毋庸置疑,如果能熟练掌握调试技能,也就可以很快的定位出代码中的 bug。要知道,看的懂代码不一定写的出代码,写的出代码不一定能调试好代码,为了能写出没有 bug 的代码,我们必须得掌握一些基...
- 上一篇关于面试的谈得太多,招聘只好另起一章。 以当前的现状来看,优秀的毕业生会先被知名的大企业刷过一轮,那么,相对不知名的企业招聘负责人要如何找到适合自己公司的技术人才呢?询问过一些毕业生之后,我总结了如下经验。 1. 招聘会上的招聘材料的准备 一场招聘会上公司林林总总,面试者要了解你公司,只有他晃过去的那几秒钟,一张意义鲜明的海报,就特别重要。 很多海报自己设计得漂... 上一篇关于面试的谈得太多,招聘只好另起一章。 以当前的现状来看,优秀的毕业生会先被知名的大企业刷过一轮,那么,相对不知名的企业招聘负责人要如何找到适合自己公司的技术人才呢?询问过一些毕业生之后,我总结了如下经验。 1. 招聘会上的招聘材料的准备 一场招聘会上公司林林总总,面试者要了解你公司,只有他晃过去的那几秒钟,一张意义鲜明的海报,就特别重要。 很多海报自己设计得漂...
- 原子类AtomicInteger的ABA问题 连环套路 从AtomicInteger引出下面的问题 CAS -> Unsafe -> CAS底层思想 -> ABA -> 原子引用更新 -> 如何规避ABA问题 ABA问题是什么 假设现在有两个线程,分别是T1 和 T2,然后T1执行某个操作的时间为10秒,T2执行某个时间的操作是2秒,最开始T1,T2两个线程... 原子类AtomicInteger的ABA问题 连环套路 从AtomicInteger引出下面的问题 CAS -> Unsafe -> CAS底层思想 -> ABA -> 原子引用更新 -> 如何规避ABA问题 ABA问题是什么 假设现在有两个线程,分别是T1 和 T2,然后T1执行某个操作的时间为10秒,T2执行某个时间的操作是2秒,最开始T1,T2两个线程...
- 友情提醒:再看这边文章之前,请先去看我的上一篇文章《(重温)JavaWeb--Servlet技术(一)(JavaWeb 的三大组件之一)》 1.HttpServletRequest 类 a)HttpServletRequest 类有什么作用。 每次只要有请求进入 Tomcat 服务器,Tomcat 服务器就会把请求过来的 HTTP 协议信息解析好... 友情提醒:再看这边文章之前,请先去看我的上一篇文章《(重温)JavaWeb--Servlet技术(一)(JavaWeb 的三大组件之一)》 1.HttpServletRequest 类 a)HttpServletRequest 类有什么作用。 每次只要有请求进入 Tomcat 服务器,Tomcat 服务器就会把请求过来的 HTTP 协议信息解析好...
- 一、想到哪儿写到哪儿 给公司新员工培训,和网上的新手做交流,我最先强调的都是基础。 基础有什么用? 1、节省沟通成本 有天,java群里来了个新人,上来就提了一个问题: “我代码跑不起来,怎么办?” 这一看就是还没入门,没办法提供具体的信息。 于是有个有耐心的老鸟出来了,开始了一连串提问:异常栈看一下?有编译期异常吗?贴出你的main函数看看? 新人收到了问题... 一、想到哪儿写到哪儿 给公司新员工培训,和网上的新手做交流,我最先强调的都是基础。 基础有什么用? 1、节省沟通成本 有天,java群里来了个新人,上来就提了一个问题: “我代码跑不起来,怎么办?” 这一看就是还没入门,没办法提供具体的信息。 于是有个有耐心的老鸟出来了,开始了一连串提问:异常栈看一下?有编译期异常吗?贴出你的main函数看看? 新人收到了问题...
- Volatile和JMM内存模型的可见性 谈谈对Volatile的理解JMM是什么JMM的特性可见性代码验证 JUC(java.util.concurrent) 进程和线程 进程:后台运行的程序(我们打开的一个软件,就是进程)线程:轻量级的进程,并且一个进程包含多个线程(同在一个软件内,同时运行窗口,就是线程) 并发和并行 并发:同时访问某个东西,就... Volatile和JMM内存模型的可见性 谈谈对Volatile的理解JMM是什么JMM的特性可见性代码验证 JUC(java.util.concurrent) 进程和线程 进程:后台运行的程序(我们打开的一个软件,就是进程)线程:轻量级的进程,并且一个进程包含多个线程(同在一个软件内,同时运行窗口,就是线程) 并发和并行 并发:同时访问某个东西,就...
- 1.Servlet 技术 a)什么是 Servlet Servlet 是 JavaEE 规范之一。规范就是接口Servlet 就 JavaWeb 三大组件之一。三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器。Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。 b)手动实现 S... 1.Servlet 技术 a)什么是 Servlet Servlet 是 JavaEE 规范之一。规范就是接口Servlet 就 JavaWeb 三大组件之一。三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器。Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。 b)手动实现 S...
- 为什么要读JDK源码 当然不是为了装,毕竟谁没事找事虐自己 ... 1、面试跑不掉。现在只要面试Java相关的岗位,肯定或多或少会会涉及JDK源码相关的问题。 2、弄懂原理才不慌。我们作为JDK的使用者,虽然说天天用得很开心,但是有时候遇到问题还是得跟到底层源码去看看,才能帮助我们更好的弄懂原理, 3、学习优秀的代码、思想和模式。JDK毕竟是一个优秀的代码库,我们... 为什么要读JDK源码 当然不是为了装,毕竟谁没事找事虐自己 ... 1、面试跑不掉。现在只要面试Java相关的岗位,肯定或多或少会会涉及JDK源码相关的问题。 2、弄懂原理才不慌。我们作为JDK的使用者,虽然说天天用得很开心,但是有时候遇到问题还是得跟到底层源码去看看,才能帮助我们更好的弄懂原理, 3、学习优秀的代码、思想和模式。JDK毕竟是一个优秀的代码库,我们...
- 线程池 前言Callable接口注意 ThreadPoolExecutor为什么用线程池线程池的好处 架构说明创建线程池底层实现线程池的重要参数拒绝策略线程池底层工作原理线程池运行架构图为什么不用默认创建的线程池? 手写线程池采用默认拒绝策略采用CallerRunsPolicy拒绝策略采用 DiscardPolicy 拒绝策略采用DiscardOldes... 线程池 前言Callable接口注意 ThreadPoolExecutor为什么用线程池线程池的好处 架构说明创建线程池底层实现线程池的重要参数拒绝策略线程池底层工作原理线程池运行架构图为什么不用默认创建的线程池? 手写线程池采用默认拒绝策略采用CallerRunsPolicy拒绝策略采用 DiscardPolicy 拒绝策略采用DiscardOldes...
- 最近公司在做农机自动驾驶业务,里面的有些算法是c++代码实现,需要对接到java平台。因此我们可以用强大的jna很简单的就可以实现调用so文件库。 在linux下使用jna调用本地方法的时候,需要将C写成的程序编译为so文件。 1.首先编写一个test.c文件 #include<stdio.h> int add(int a,int b); int add(int a,in... 最近公司在做农机自动驾驶业务,里面的有些算法是c++代码实现,需要对接到java平台。因此我们可以用强大的jna很简单的就可以实现调用so文件库。 在linux下使用jna调用本地方法的时候,需要将C写成的程序编译为so文件。 1.首先编写一个test.c文件 #include<stdio.h> int add(int a,int b); int add(int a,in...
- JVM体系结构 前言概览类加载器常见的垃圾回收算法总结 前言 JVM体系结构的学习能让我们更加清楚地认识,我们的Java程序在内存中的执行过程。让我们达到“知其然,知其所以然”的效果。 概览 java gc 主要回收的是 方法区 和 堆中的内容 类加载器 类加载器是什么双亲委派机制Java类加载的沙箱安全机制 常见的垃圾回收算... JVM体系结构 前言概览类加载器常见的垃圾回收算法总结 前言 JVM体系结构的学习能让我们更加清楚地认识,我们的Java程序在内存中的执行过程。让我们达到“知其然,知其所以然”的效果。 概览 java gc 主要回收的是 方法区 和 堆中的内容 类加载器 类加载器是什么双亲委派机制Java类加载的沙箱安全机制 常见的垃圾回收算...
- TransferValue是什么? 值传递和引用传递changeValue1的执行过程changeValue2的执行过程changeValue3的执行过程 值传递和引用传递 /** * 值传递和引用传递 * @author: 轻狂书生 * @create: 2020-04-14-18:25 */ class Person { private ... TransferValue是什么? 值传递和引用传递changeValue1的执行过程changeValue2的执行过程changeValue3的执行过程 值传递和引用传递 /** * 值传递和引用传递 * @author: 轻狂书生 * @create: 2020-04-14-18:25 */ class Person { private ...
- 如果你想学会使用RxJava,那么你应该理解好ReactiveX。如果ReactiveX提供了很多抽象及高层函数。可以使用任何一种运行在JVM上的编程语言来实现这些抽象。那么RxJava就是其中一个实现了ReactiveX的框架。因此要学会RxJava关键是理解ReactiveX。ReactiveX采用观察者模式来实现它的功能。ReactiveX集合了观察者模式(Obs... 如果你想学会使用RxJava,那么你应该理解好ReactiveX。如果ReactiveX提供了很多抽象及高层函数。可以使用任何一种运行在JVM上的编程语言来实现这些抽象。那么RxJava就是其中一个实现了ReactiveX的框架。因此要学会RxJava关键是理解ReactiveX。ReactiveX采用观察者模式来实现它的功能。ReactiveX集合了观察者模式(Obs...
- 统一结果返回 目前的前后端开发大部分数据的传输格式都是json,因此定义一个统一规范的数据格式有利于前后端的交互与UI的展示。 统一结果的一般形式 是否响应成功; 响应状态码; 状态码描述; 响应数据 其他标识符 结果类枚举 前三者可定义结果枚举,如:success,code,message @Getterpublic enum ResultCodeEn... 统一结果返回 目前的前后端开发大部分数据的传输格式都是json,因此定义一个统一规范的数据格式有利于前后端的交互与UI的展示。 统一结果的一般形式 是否响应成功; 响应状态码; 状态码描述; 响应数据 其他标识符 结果类枚举 前三者可定义结果枚举,如:success,code,message @Getterpublic enum ResultCodeEn...
- Linux诊断原因 前言命令集合整机:top,查看整机系统新能CPU:vmstat内存:free硬盘:df网络IO:ifstat 生产环境服务器变慢,诊断思路和性能评估总结 前言 在招聘Java开发工程师的时候,在招聘要求上的最后总会看到熟练使用Linux优先等字样。随着就业压力越来越大,对Java工程师的要求也相对的越来越高。会Linux操作... Linux诊断原因 前言命令集合整机:top,查看整机系统新能CPU:vmstat内存:free硬盘:df网络IO:ifstat 生产环境服务器变慢,诊断思路和性能评估总结 前言 在招聘Java开发工程师的时候,在招聘要求上的最后总会看到熟练使用Linux优先等字样。随着就业压力越来越大,对Java工程师的要求也相对的越来越高。会Linux操作...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签