- 作为程序员,多多少少都会遇到一些内存溢出的场景,如果你还没遇到,说明你工作的年限可能比较短,或者你根本就是个假程序员!哈哈,开个玩笑。今天,我们就以Java代码的方式来列举几个典型的内存溢出案例,希望大家在日常工作中,尽量避免写这些low水平的代码。小伙伴们点赞,收藏,评论,走起呀 作为程序员,多多少少都会遇到一些内存溢出的场景,如果你还没遇到,说明你工作的年限可能比较短,或者你根本就是个假程序员!哈哈,开个玩笑。今天,我们就以Java代码的方式来列举几个典型的内存溢出案例,希望大家在日常工作中,尽量避免写这些low水平的代码。小伙伴们点赞,收藏,评论,走起呀
- 最近,有位读者私信我说,他们公司的项目中配置的数据库密码没有加密,编译打包后的项目被人反编译了,从项目中成功获取到数据库的账号和密码,进一步登录数据库获取了相关的数据,并对数据库进行了破坏。虽然这次事故影响的范围不大,但是这足以说明很多公司对于项目的安全性问题重视程度不够。 最近,有位读者私信我说,他们公司的项目中配置的数据库密码没有加密,编译打包后的项目被人反编译了,从项目中成功获取到数据库的账号和密码,进一步登录数据库获取了相关的数据,并对数据库进行了破坏。虽然这次事故影响的范围不大,但是这足以说明很多公司对于项目的安全性问题重视程度不够。
- 其实,在JDK1.5之前的线程安全的容器,大多数都是指同步容器,使用同步容器进行并发编程时,最大的问题就是性能很差。因为同步容器中的所有方法都是使用synchronized锁进行互斥,串行度太高了,无法真正的做到并行。所以,在JDK1.5之后,JDK中提供了并发性能更好的容器。JDK1.5及之后的版本中,提供的线程安全的容器,一般被称为并发容器。 其实,在JDK1.5之前的线程安全的容器,大多数都是指同步容器,使用同步容器进行并发编程时,最大的问题就是性能很差。因为同步容器中的所有方法都是使用synchronized锁进行互斥,串行度太高了,无法真正的做到并行。所以,在JDK1.5之后,JDK中提供了并发性能更好的容器。JDK1.5及之后的版本中,提供的线程安全的容器,一般被称为并发容器。
- 熟练的掌握正则表达式,能够帮助程序员以最快的速度写出最优雅的代码。冰河在多年的编程工作中,对使用过的正则表达式进行了梳理和总结,这些正则表达式能够帮助你节省很多的编码时间,往往一个简单的正则表达式就能够省略大量的if...else...代码。这次,冰河向小伙伴们公开了自己平时经常使用的正则表达式,希望能够为小伙伴们带来实质性的帮助。 熟练的掌握正则表达式,能够帮助程序员以最快的速度写出最优雅的代码。冰河在多年的编程工作中,对使用过的正则表达式进行了梳理和总结,这些正则表达式能够帮助你节省很多的编码时间,往往一个简单的正则表达式就能够省略大量的if...else...代码。这次,冰河向小伙伴们公开了自己平时经常使用的正则表达式,希望能够为小伙伴们带来实质性的帮助。
- 二.ArrayList 1.ArrayList 的特点?先来看一下类的声明,有一个继承(抽象类)和四个接口关系public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable{ // 源码具体内容...}R... 二.ArrayList 1.ArrayList 的特点?先来看一下类的声明,有一个继承(抽象类)和四个接口关系public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable{ // 源码具体内容...}R...
- 一.概念动态代理是一种方便运行时动态构建代理、动态处理代理方法调用的机制动态代理的方式:JDK 自身提供的动态代理,利用反射机制cglib 动态代理,基于 ASM 二.场景面向切面的编程(AOP)RPC 调用 三.代理解决的问题首先,它是一个代理机制。如果熟悉设计模式中的代理模式,我们会知道,代理可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成。通过... 一.概念动态代理是一种方便运行时动态构建代理、动态处理代理方法调用的机制动态代理的方式:JDK 自身提供的动态代理,利用反射机制cglib 动态代理,基于 ASM 二.场景面向切面的编程(AOP)RPC 调用 三.代理解决的问题首先,它是一个代理机制。如果熟悉设计模式中的代理模式,我们会知道,代理可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成。通过...
- Java 18 在 2022 年 3 月 22 日正式发布,非长期支持版本。Java 18是Java开发的重要里程碑,它带来了许多新特性和改进,旨在提高开发者的生产力和代码质量。本文将深入浅出地介绍Java 18的一些关键特性,通过代码示例帮助你理解这些新功能。 1. 文件系统链接(File System Links)Java 18引入了对文件系统链接的支持,类似于Unix中的符号链接。ja... Java 18 在 2022 年 3 月 22 日正式发布,非长期支持版本。Java 18是Java开发的重要里程碑,它带来了许多新特性和改进,旨在提高开发者的生产力和代码质量。本文将深入浅出地介绍Java 18的一些关键特性,通过代码示例帮助你理解这些新功能。 1. 文件系统链接(File System Links)Java 18引入了对文件系统链接的支持,类似于Unix中的符号链接。ja...
- 说起MySQL的日志,有三种类型的日志对于MySQL来说是至关重要的,这三种日志分别为:Binlog、Undo Log 和 Redo Log。由于Binlog和UndoLog有类似的地方,所以,我们按照如下顺序依次介绍MySQL中的三大日志原理:Undo Log——> Redo Log ——> Binlog。 说起MySQL的日志,有三种类型的日志对于MySQL来说是至关重要的,这三种日志分别为:Binlog、Undo Log 和 Redo Log。由于Binlog和UndoLog有类似的地方,所以,我们按照如下顺序依次介绍MySQL中的三大日志原理:Undo Log——> Redo Log ——> Binlog。
- 最近,一名小伙伴跟我说:他写的程序在测试环境一点问题没有,但是发到生产环境却会频繁出现内存溢出的情况,这个问题都困扰他一周多了。于是乎,周末我便开始帮他排查各种问题。 最近,一名小伙伴跟我说:他写的程序在测试环境一点问题没有,但是发到生产环境却会频繁出现内存溢出的情况,这个问题都困扰他一周多了。于是乎,周末我便开始帮他排查各种问题。
- JDK、JRE和JVM是Java技术的核心组件。JDK是开发工具包,包含JRE和编译工具;JRE提供运行环境,包括JVM和Java类库;JVM是运行Java字节码的核心,实现跨平台。三者中,JDK侧重开发,JRE侧重运行,JVM实现跨平台。它们共同协作,使Java程序能一次编写。 JDK、JRE和JVM是Java技术的核心组件。JDK是开发工具包,包含JRE和编译工具;JRE提供运行环境,包括JVM和Java类库;JVM是运行Java字节码的核心,实现跨平台。三者中,JDK侧重开发,JRE侧重运行,JVM实现跨平台。它们共同协作,使Java程序能一次编写。
- 最近,一名小伙伴跟我说:他写的程序在测试环境一点问题没有,但是发到生产环境却会频繁出现内存溢出的情况,这个问题都困扰他一周多了。于是乎,周末我便开始帮他排查各种问题。 最近,一名小伙伴跟我说:他写的程序在测试环境一点问题没有,但是发到生产环境却会频繁出现内存溢出的情况,这个问题都困扰他一周多了。于是乎,周末我便开始帮他排查各种问题。
- HashMap的知识点可以说在面试中经常被问到,是Java中比较常见的一种数据结构。所以这一篇就通过源码来深入理解下HashMap。 HashMap的知识点可以说在面试中经常被问到,是Java中比较常见的一种数据结构。所以这一篇就通过源码来深入理解下HashMap。
- 流水线技术是计算机中的一种相当重要的技术。简单的说,流水线技术的出现使得计算机能够支持并行计算,能够并行执行任务。尽管流水线技术非常重要,但是很多小伙伴对流水线技术还是一知半解,甚至很多小伙伴根本不知道什么是流水线技术,今天,我们就一起来说说什么是流水线技术。 流水线技术是计算机中的一种相当重要的技术。简单的说,流水线技术的出现使得计算机能够支持并行计算,能够并行执行任务。尽管流水线技术非常重要,但是很多小伙伴对流水线技术还是一知半解,甚至很多小伙伴根本不知道什么是流水线技术,今天,我们就一起来说说什么是流水线技术。
- 本文记录了我之前初到一家创业公司,从零开始到用户超千万,系统压力暴增的情况下是如何一步步优化MySQL数据库的,以及数据库架构升级的演变过程。升级的过程极具技术挑战性,也从中收获不少。希望能够为小伙伴们带来实质性的帮助。 本文记录了我之前初到一家创业公司,从零开始到用户超千万,系统压力暴增的情况下是如何一步步优化MySQL数据库的,以及数据库架构升级的演变过程。升级的过程极具技术挑战性,也从中收获不少。希望能够为小伙伴们带来实质性的帮助。
- 一、概述一般来说,同事类之间的关系是比较复杂的,多个同事类之间互相关联时,他们之间的关系会呈现为复杂的网状结构,这是一种过度耦合的架构,即不利于类的复用,也不稳定。例如在下左图中,有六个同事类对象,假如对象1发生变化,那么将会有4个对象受到影响。如果对象2发生变化,那么将会有5个对象受到影响。也就是说,同事类之间直接关联的设计是不好的。如果引入中介者模式,那么同事类之间的关系将变为星型结构... 一、概述一般来说,同事类之间的关系是比较复杂的,多个同事类之间互相关联时,他们之间的关系会呈现为复杂的网状结构,这是一种过度耦合的架构,即不利于类的复用,也不稳定。例如在下左图中,有六个同事类对象,假如对象1发生变化,那么将会有4个对象受到影响。如果对象2发生变化,那么将会有5个对象受到影响。也就是说,同事类之间直接关联的设计是不好的。如果引入中介者模式,那么同事类之间的关系将变为星型结构...
上滑加载中
推荐直播
-
香橙派AIpro的远程推理框架与实验案例
2025/07/04 周五 19:00-20:00
郝家胜 -华为开发者布道师-高校教师
AiR推理框架创新采用将模型推理与模型应用相分离的机制,把香橙派封装为AI推理黑盒服务,构建了分布式远程推理框架,并提供多种输入模态、多种输出方式以及多线程支持的高度复用框架,解决了开发板环境配置复杂上手困难、缺乏可视化体验和资源稀缺课程受限等痛点问题,真正做到开箱即用,并支持多种笔记本电脑环境、多种不同编程语言,10行代码即可体验图像分割迁移案例。
回顾中 -
鸿蒙端云一体化应用开发
2025/07/10 周四 19:00-20:00
倪红军 华为开发者布道师-高校教师
基于鸿蒙平台终端设备的应用场景越来越多、使用范围越来越广。本课程以云数据库服务为例,介绍云侧项目应用的创建、新建对象类型、新增存储区及向对象类型中添加数据对象的方法,端侧(HarmonyOS平台)一体化工程项目的创建、云数据资源的关联方法及对云侧数据的增删改查等操作方法,为开发端云一体化应用打下坚实基础。
即将直播
热门标签