- Spring实现依赖注入的Java底层技术是Java反射技术。 ICO:Spring容器的内核,AOP、声明式事务等功能都基于此产生。 ICO不够开门见山,所以后期由Martin Fowler用DI,依赖注入的概念代替了IoC,让调用类对某一接口实现类的依赖由第三方(容器或者协作类)注入,从而移除调用类对某一接口实现类的依赖。 注入方式可以划分为三种类型:构造函数... Spring实现依赖注入的Java底层技术是Java反射技术。 ICO:Spring容器的内核,AOP、声明式事务等功能都基于此产生。 ICO不够开门见山,所以后期由Martin Fowler用DI,依赖注入的概念代替了IoC,让调用类对某一接口实现类的依赖由第三方(容器或者协作类)注入,从而移除调用类对某一接口实现类的依赖。 注入方式可以划分为三种类型:构造函数...
- #Java进阶(五十六)-IntelJ IDEA 将java项目打包成jar及引用外部包 ##打包成Jar 首先要保证自己的Java代码是没有问题的,在IDEA里面是可以正常运行的,然后,按下面步骤: 1.打开File -> Project Structure -> Artifacts,如下图 点击“+”,选择“Jar”,选择Empty或Fro... #Java进阶(五十六)-IntelJ IDEA 将java项目打包成jar及引用外部包 ##打包成Jar 首先要保证自己的Java代码是没有问题的,在IDEA里面是可以正常运行的,然后,按下面步骤: 1.打开File -> Project Structure -> Artifacts,如下图 点击“+”,选择“Jar”,选择Empty或Fro...
- 在开发时,遇到了下面这条语句,不懂,然习之。 private List<MyZhuiHaoDetailModel> listLottery = new ArrayList<MyZhuiHaoDetailModel>(); Gson gson=new Gson(); JSONObject object=new JSONObject(callbackValue)... 在开发时,遇到了下面这条语句,不懂,然习之。 private List<MyZhuiHaoDetailModel> listLottery = new ArrayList<MyZhuiHaoDetailModel>(); Gson gson=new Gson(); JSONObject object=new JSONObject(callbackValue)...
- 栈、堆、常量池等虽同属Java内存分配时操作的区域,但其适用范围和功用却大不相同。本文将深入Java核心,简单讲解Java内存分配方面的知识。 首先我们先来讲解一下内存中的各个区域。 stack(栈) 存放基本类型的数据和对象的引用,即存放变量。 如果存放的是基本类型数据(非静态变量),则直接将变量名和值存入stack中的内存中; ... 栈、堆、常量池等虽同属Java内存分配时操作的区域,但其适用范围和功用却大不相同。本文将深入Java核心,简单讲解Java内存分配方面的知识。 首先我们先来讲解一下内存中的各个区域。 stack(栈) 存放基本类型的数据和对象的引用,即存放变量。 如果存放的是基本类型数据(非静态变量),则直接将变量名和值存入stack中的内存中; ...
- #JVM进阶(十)——JAVA 年老代收集器 在上一篇博文我们介绍了JAVA新生代收集器,本篇博文我们要讲的就是关于老年代的一些收集器。老年代存活的一般是大对象以及生命很顽强的对象,因此新生代的复制算法很明显不能适应该区域的特性,所以老年代采用的是“标记-清除-整理”算法(以前的博文有详细讨论过)。 Serila Old收集器:该收集器是Serial收集器的老年代... #JVM进阶(十)——JAVA 年老代收集器 在上一篇博文我们介绍了JAVA新生代收集器,本篇博文我们要讲的就是关于老年代的一些收集器。老年代存活的一般是大对象以及生命很顽强的对象,因此新生代的复制算法很明显不能适应该区域的特性,所以老年代采用的是“标记-清除-整理”算法(以前的博文有详细讨论过)。 Serila Old收集器:该收集器是Serial收集器的老年代...
- Java进阶(三十七)java 自动装箱与拆箱 前言 这个是jdk1.5以后才引入的新的内容。java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装称为装箱,解包装称为拆箱); 其实按照我自己的理解自动装箱就可以简单的理解为将基本数据类型封装为对象类型,来符合... Java进阶(三十七)java 自动装箱与拆箱 前言 这个是jdk1.5以后才引入的新的内容。java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装称为装箱,解包装称为拆箱); 其实按照我自己的理解自动装箱就可以简单的理解为将基本数据类型封装为对象类型,来符合...
- 字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如下图所示。 下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流。 范例:使用字节流不关闭执行 import java... 字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如下图所示。 下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流。 范例:使用字节流不关闭执行 import java...
- 几大类 碎片时间利用 极客时间 MySql 46讲 - 同时注重自我实现与反思,结合实际的工作内容进行验证 极客时间Java 核心技术36讲 基础夯实 Java核心技术卷I - 粗略浏览,查漏补缺 Effective Java - 提升 方法论 重构 - 提升代码水平和代码能力 TODO: 整理设计模式的所学笔记 通过key promote X加强对Idea... 几大类 碎片时间利用 极客时间 MySql 46讲 - 同时注重自我实现与反思,结合实际的工作内容进行验证 极客时间Java 核心技术36讲 基础夯实 Java核心技术卷I - 粗略浏览,查漏补缺 Effective Java - 提升 方法论 重构 - 提升代码水平和代码能力 TODO: 整理设计模式的所学笔记 通过key promote X加强对Idea...
- Java进阶(三十六)深入理解Java的接口和抽象类 前言 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。 抽象类 在了解抽象类之... Java进阶(三十六)深入理解Java的接口和抽象类 前言 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。 抽象类 在了解抽象类之...
- #Java中多线程使用匿名内部类的方式进行创建3种方式 package cn.edu.ujn.demo; // 匿名内部类的格式: public class ThreadDemo { public static void main(String[] args) { // 继承thread类实现多线程 new Thread() { public void run() ... #Java中多线程使用匿名内部类的方式进行创建3种方式 package cn.edu.ujn.demo; // 匿名内部类的格式: public class ThreadDemo { public static void main(String[] args) { // 继承thread类实现多线程 new Thread() { public void run() ...
- 剑指Offer——Java实现栈和队列的互模拟操作 栈模拟队列 题目:JAVA实现用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。 思路:其实就是把队列正常入栈,出栈的时候先把栈里的内容按顺序搬到另一个栈里,负负得正,这样再按顺序出栈的时候,就成了入栈前队列的顺序 package cn.edu.ujn.demo; im... 剑指Offer——Java实现栈和队列的互模拟操作 栈模拟队列 题目:JAVA实现用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。 思路:其实就是把队列正常入栈,出栈的时候先把栈里的内容按顺序搬到另一个栈里,负负得正,这样再按顺序出栈的时候,就成了入栈前队列的顺序 package cn.edu.ujn.demo; im...
- #JVM进阶(二)——初识JAVA堆 在博文《JVM进阶(一)——初识JAVA栈》中我们说到了栈,他在内存中是连续的空间;保存一个个的栈帧,对应一次次方法的调用;还讲到了他是保存对象的引用,那么对象存在哪里呢?我们来看看昨天的一张图: 对象就存在图中的内存区域,在JVM中,那片区域叫做堆! 由图中可以看到堆的存储结构和栈是不同的,堆在内存中并不是一块连续的... #JVM进阶(二)——初识JAVA堆 在博文《JVM进阶(一)——初识JAVA栈》中我们说到了栈,他在内存中是连续的空间;保存一个个的栈帧,对应一次次方法的调用;还讲到了他是保存对象的引用,那么对象存在哪里呢?我们来看看昨天的一张图: 对象就存在图中的内存区域,在JVM中,那片区域叫做堆! 由图中可以看到堆的存储结构和栈是不同的,堆在内存中并不是一块连续的...
- Maven入门指南 :Maven 快速入门及简单使用 前言 Maven是一个Java语言编写的开源项目管理工具,是Apache软件基金会的顶级项目。主要用于项目构建,依赖管理,项目信息管理。 maven项目在编译、测试、打包里,会需要从maven的中央仓库(即:maven组织公布在互联网上的一个站点,里面已经收录了目前绝大多数主流的jar包)下载... Maven入门指南 :Maven 快速入门及简单使用 前言 Maven是一个Java语言编写的开源项目管理工具,是Apache软件基金会的顶级项目。主要用于项目构建,依赖管理,项目信息管理。 maven项目在编译、测试、打包里,会需要从maven的中央仓库(即:maven组织公布在互联网上的一个站点,里面已经收录了目前绝大多数主流的jar包)下载...
- 剑指Offer——回溯算法解迷宫问题(java版) 以一个M×N的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计程序,对任意设定的迷宫,求出从入口到出口的所有通路。 下面我们来详细讲一下迷宫问题的回溯算法。 (入口) 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 1 0 1 1 1 0 0 1 0... 剑指Offer——回溯算法解迷宫问题(java版) 以一个M×N的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计程序,对任意设定的迷宫,求出从入口到出口的所有通路。 下面我们来详细讲一下迷宫问题的回溯算法。 (入口) 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 1 0 1 1 1 0 0 1 0...
- #Java进阶(五十二)两个整数相除得到小数点并保留两位小数的方法 当两个整数相除时,由于小数点以后的数字会被截断,使运算结果为整数,故此时若希望得到运算结果为所预期的浮点数,则此时必须将两整数其一或是全部强制转换类型为浮点数。 例如: (float)a/b // 将整数其中一个强制转换成浮点数,再与另一个整数相除 a/(float)b (float)a/(f... #Java进阶(五十二)两个整数相除得到小数点并保留两位小数的方法 当两个整数相除时,由于小数点以后的数字会被截断,使运算结果为整数,故此时若希望得到运算结果为所预期的浮点数,则此时必须将两整数其一或是全部强制转换类型为浮点数。 例如: (float)a/b // 将整数其中一个强制转换成浮点数,再与另一个整数相除 a/(float)b (float)a/(f...
上滑加载中
推荐直播
-
华为云师资培训——《大数据》课程
2025/08/12 周二 15:00-17:00
贺行简-DTSE开发者技术专家 吕晨-DTSE开发者技术专家
华为云师资培训直播,带您掌握产业级大数据课程体系与华为开发者空间实战能力,助力高校数字化转型!
回顾中
热门标签