首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏WD学习记录

    Java核心技术 卷I 基础知识 学习笔记(9

    参考:Java核心技术 卷I 基础知识 第十四章 多进程与多线程有哪些区别呢?本质的区别在于每个进程拥有自己的一整套变量,而线程则共享数据。 在许多情况下可以使用java.util.concurrent包中的一种机制,他会为你处理所有的加锁。

    43220发布于 2019-02-25
  • 来自专栏全栈程序员必看

    Java基础三:Java 核心技术

    Java 核心技术 3.1. 反射机制 3.2. 异常 3.3. 多线程 3.4. 文件与 I\O 流 ---- 3. Java 核心技术 3.1. 反射机制 JAVA 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 java /java-programming/exceptions-javaJava 中,所有的异常都有一个共同的祖先 java.lang 包中的 Throwable 类。 这些异常发生时,Java 虚拟机(JVM)一般会选择线程终止。 Java 线程在运行的生命周期中的指定时刻只可能处于下面 6 种不同状态的其中一个状态(图源《Java 并发编程艺术》4.1.4 节)。

    1K20编辑于 2022-09-08
  • 来自专栏全栈程序员必看

    java核心技术总结

    ***************** java基础 ***************** 一、java 中的局部变量、实例变量和类变量 二、java中的基本类型和引用类型 三、java中的位操作符 四、关于 java 的方法 1、方法的重载和重写(方法签名:方法名和参数列表) 2、方法的可变参(int … args) (1)基本特点 底层就是用数组来实现的; 在方法内部可变参可以直接当成数组进行操作 枚举(enum) 六、java异常处理 1、错误和异常 (1)错误 error 运行时发生错误,编译器无法检查 从Error中恢复是不可能的 Error主要是由运行应用程序的环境引起的 示例: java.lang.StackOverflowError,java.lang.OutOfMemoryError (2)异常 exception 异常包括检查异常(对编译器已知)和未检查异常(运行时发生 泛型 1、泛型本质:java 类型的参数化,增强 java 语言的动态性,使得可以编写出适用于各种类型的通用代码 2、泛型应用:泛型接口、泛型类、泛型方法(一般情况用泛型方法,不要轻易使用泛型类,有利于明确泛型化的范围

    73610编辑于 2022-09-08
  • 来自专栏前端学习归纳总结

    Java核心技术 继承

    超类的private属性并不能被子类访问。假如我们编写一个Manager类继承Employee类。

    70520发布于 2019-01-21
  • 来自专栏程序猿DD

    Java 9 - 17 特性解读:Java 9

    所以胖哥抽时间梳理了一下从Java 9Java 17的一些常用API的变动。今天先来看看Java 9 都有什么东西。 Java 9 Java 9 最大的变化就是引入了一个JShell和模块化,日常并没有用太多,所以今天不花时间在这些功能上面。 Java 9改善了这一现状,现在你可以: // [1, 2, 3, 4] List<Integer> integers = List.of(1, 2, 3, 4); // {1,2,3} Set<Integer Stream扩展 Stream API 是Java 8中引入的最重要的特性之一。在Java 9中Stream进一步得到了加强。 总结 其实Java 9 还有一些底层的优化,不过对于普通开发者来说了解这些就够用了。上面几个特性,比较常用的就是静态不变集合、try-with-resources优化。

    55430编辑于 2023-04-04
  • 来自专栏码农小胖哥的码农生涯

    Java 9Java 17之Java 9

    所以胖哥抽时间梳理了一下从Java 9Java 17的一些常用API的变动。今天先来看看Java 9 都有什么东西。 Java 9 Java 9 最大的变化就是引入了一个JShell和模块化,日常并没有用太多,所以今天不花时间在这些功能上面。 Java 9改善了这一现状,现在你可以: // [1, 2, 3, 4] List<Integer> integers = List.of(1, 2, 3, 4); // {1,2,3} Set<Integer Stream扩展 Stream API 是Java 8中引入的最重要的特性之一。在Java 9中Stream进一步得到了加强。 总结 其实Java 9 还有一些底层的优化,不过对于普通开发者来说了解这些就够用了。上面几个特性,比较常用的就是静态不变集合、try-with-resources优化。

    96730发布于 2021-09-29
  • 来自专栏企鹅号快讯

    JAVA核心技术学习笔记

    掌握Java核心技术是学习和掌握好Java技术的关键,下边分17个点对这些Java核心技术进行讲解。 >>>3.Java是典型的强类型语言,即必须声明变量的类型,Java中有8种类型,6种数值类型(4个整数型和2个浮点型)、一个字符类型和一个boolean类型。 String str = "hello"; str.equals("hell"); // return false; >>>8.对象的行为、状态、标识 >>>9.面向过程与OOP >>>10.构造函数: Java可以重载任何方法,而不仅是构造函数。 >>>13.对象的类型转换: Manager boss = (Manager) args[0]; >>>14.Java数组和Java向量的区别: Java数组可以存储任何类型的变量,Java向量只能存储对象类的实例

    86050发布于 2018-02-08
  • 来自专栏LuckQI

    Java核心技术讲解学习

    java有一段时间了。经常写业务代码,长时间里,自己只知道怎么使用其中的api,对于java的理解很多就忘记了。 正好极客时间里面出来了一个课程关于JAVA核心技术的讲解,自己也开始学习,期望能提高自己对java的理解。 首先提出需要的问题。 Java平台的理解 Java是解释执行吗? Java平台的理解 : 一个面向对象编程的语言 具有封装,继承,多态特性 一次执行,处处运行。与平台无关性。可以让java程序在别的平台上运行,当然这是由JVM确定的。 java在第一次编译生成.class文件。JVM运行.class文件。与c还有c++区别最大的一点就是开发者不用在纠结各个操作系统的区别,内存管理在Java上也弱化了很多。 Java的大数据生态。在生态上Java可以说是最成熟的一种解决方案。hadoop,spark,hive等等,都提供Java语言的支持。

    54020发布于 2018-07-19
  • 来自专栏lgp20151222

    java 核心技术 读后总结

    >>>用0填充高位>>用符号位填充高位<<<不存在 冷知识吧,也就当年校招见过人问过 3.java没有多维数组,只有一维数组 我们所说的二维数组,本质上是数组的数组 4.编译多个名字差不多的文件 如 AbcController 和AbcService两个文件,javac Abc*.java 即可一次性编译两个 5.比较是不是同一个类 用equals而不是instanceof 因为子类instanceof也报true Objects.equals 同样是基础书,我偏向think in java 。 8.异常处理 一.异常处理不能顶替简单的测试。就是不要随便利用异常进行业务代码,其实这个在其他语言里面很经常在具体的异常里面进行相应的业务操作。 9.断言,有点想深入了解,但是和think in java 里面都是说了几句。看来断言的实际使用真的很少,而且个人观感也是if,try,log等就可以代替,并且这三种的使用很频繁。 12.xml,这些的文件解析java有自带的功能实现啊,但是考虑到文档的可读性,,,我还是选择第三方的,因为他们的文档接地气啊... 13.执行sql语句的防注入,其实就是select * from emp

    41020发布于 2018-10-18
  • 来自专栏Java社区

    Java核心技术讲解学习

    LuckQI 在这里你可以得到不只是技术,关注即可习得新技能 做java有一段时间了。经常写业务代码,长时间里,自己只知道怎么使用其中的api,对于java的理解很多就忘记了。 正好极客时间里面出来了一个课程关于JAVA核心技术的讲解,自己也开始学习,期望能提高自己对java的理解。 首先提出需要的问题。 Java平台的理解 Java是解释执行吗? Java平台的理解 : 一个面向对象编程的语言 具有封装,继承,多态特性 一次执行,处处运行。与平台无关性。可以让java程序在别的平台上运行,当然这是由JVM确定的。 java在第一次编译生成.class文件。JVM运行.class文件。与c还有c++区别最大的一点就是开发者不用在纠结各个操作系统的区别,内存管理在Java上也弱化了很多。 Java的大数据生态。在生态上Java可以说是最成熟的一种解决方案。hadoop,spark,hive等等,都提供Java语言的支持。

    59530发布于 2018-06-29
  • 来自专栏LuckQI

    Java核心技术讲解六

    可以点击java核心技术讲解学习五 这篇文章来说下简单的知识,也是我们经常用的String ,StringBuffer,StirngBuilder. 在Java9中引入了一种新的设计,将其底层改为byte数组,数据存储方式改为了byte数组加上一个标识编码。 在Java8中 对字符串进行了优化,字符串拼接 编译的时候会直接编译成StringBuilder。 在笔者原先做web开发的时候并没有注意对int类型还有Integer类型特别的注意,因为在这里面笔者并没有注意自动装箱和自动拆箱的作用,在这次大数据进行开发的时候,因为我们内存的原因并且处理量太大,不容易处理,java 等下次再进行分析 Java原始数据和引用类型局限性 原始数据类型在泛型中不能使用,我们在使用泛型的时候必须转为Object类型。 无法高效的表达数据,也不方便表达复杂的数据结构。

    68620发布于 2018-07-19
  • 来自专栏cwl_Java

    速读原著-Java核心技术(Java 发展简史)

    1.4 Java 发展简史 本节将介绍 Java 的发展简史。这些内容来自很多出版资料(最重要的是 SunWorld 的在线杂志 1995 年 7月刊上对 Java 创建者的专访。) 1996 年年初,Sun 发布了 Java 的第 1 个版本: 人们很快地意识到 Java1.0 不能用来进行真正的应用开发。 在此期间, Java applet 采用低调姿态,并淡化了客户端的应用,但 Java 却成为服务器端应用的首选平台。 直到 201丨年 Oracle 发布了 Java的一个新版本,Java ?, 其中只做了一些简单的改进。 2014 年 ,Java 8终于发布,在近 20 年中这个版本有了最大的改变。 Java 8 提供了一种“ 函数式” 编程方式,可以很容易地表述并发执行的计算。 所有编程语言都必须与时俱进,Java在这方面显示出非凡的能力。 表 1-1 展示了 Java 语言以及类库的发展状况。

    54820发布于 2020-04-21
  • 来自专栏cwl_Java

    速读原著-Java核心技术(一)

    第 1 章 Java 程序设计概述 1996 年 Java 第一次发布就引起了人们的极大兴趣。关注 Java 的人士不仅限于计算机出版界,还有诸如《纽约时报》《华盛顿邮报》《商业周刊》这样的主流媒体。 本章将简要地介绍一下 Java 语言的发展历史。 1.1 Java 程序设计平台 本书的第 1 版是这样描写 Java 的:“ 作为一种计算机语言, Java 的广告词确实有点夸大其辞。 1 ) 简单性 2 ) 面向对象 3 ) 分布式 4 ) 健壮性 5 ) 安全性 6 ) 体系结构中立 7 ) 可移植性 8 ) 解释型 9 ) 高性能 10 ) 多线程 11 ) 这些开发人员并不觉得 Java 简单。很多年之后 Java 开发环境才迎头赶上如今,Java 开发环境已经远远超出大多数其他编程语言的开发环境简单的另一个方面是小。 在本质上,Java 的面向对象能力与 C++是一样的。 开发 Java 时面向对象技术已经相当成熟。 Java 的面向对象特性与 C++ 旗鼓相当。

    63530发布于 2020-04-21
  • 来自专栏LuckQI

    Java核心技术讲解学习二

    继续我们的Java核心知识点的学习。上面一篇说过虚拟机还有Java世界平台的简单知识,还顺便总结了Error和Exception相关内容看相关内容,请阅读Java核心技术讲解学习一。 Exception e){ e.printStackTrace(); }finally { lock.unlock(); } 但是在Java7 如今的Java平台,开始采用java.lang.ref.Cleaner 代替finalize.Cleaner 的实现使用了幻象引用。这是一种常见的post-mortem清理机制。

    53120发布于 2018-07-19
  • 来自专栏Titan笔记

    Java核心技术之动态代理

    什么是动态代理 Java标准库提供了一种动态代理(Dynamic Proxy)的机制:可以在运行期动态创建某个interface的实例。 package ProxyStudy; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; public package ProxyStudy; import java.lang.reflect.Proxy; public class Main { public static void main

    34610发布于 2020-07-22
  • 来自专栏LuckQI

    Java核心技术讲解学习四

    上一节我们探讨了垃圾回收算法,简单的了解下垃圾回收在程序虚拟机中是怎样运行的。我们平常在开发中经常用的虚拟机是HotSpot,那么该虚拟机是怎样实现的呢? HotSpot 算法的实现 我们知道在对象创建时候都会形成一条链,我们的可达性分析就是从GC Root节点上找引用的,其中这个节点主要是在全局性的引用于与执行上下文中。由于以下原因导致。我们现在虚拟机大部分使用的是准确式GC 现在程序很多数据都是在数百M设置是数百GB,如果还要逐个检查每个引用,就容易出现问题。性能损失很多。 还有一点就是可达性

    44230发布于 2018-07-19
  • 来自专栏LuckQI

    Java核心技术讲解学习三

    前天我们在写Java技术讲解的时候说过引用现在在Java中分为四种类型,强引用,软引用,弱引用,幻象引用。但是这几者之间有什么关系呢? Java中对象的可达性 在Java中我们都是通过分析来计算对象是否还是存活状态。不是存活状态的对象才能 被清理掉。那么这个分析就是称为可达性分析。 在 虚拟机书上是这么定义的 虚拟机栈中引用的对象 -- 虚拟机栈 线程私有的属性 方法区中静态属性引用的对象 方法区中常量引用的对象 --方法区 与java堆一样都是各个线程共享的内存区域。 垃圾回收算法 说完对象的引用之后我们都知道对象在哪种状态会被回收,然而在Java中我们使用的是gc来进行回收的那么,gc是利用什么条件进行回收呢?我们说下gc的算法了解下。

    43890发布于 2018-07-19
  • 来自专栏Ray学习笔记

    Java多线程编程核心技术

    ,这种情况在Java中也是存在的。 Lock 的使用 使用 Java5 中的 Lock 对象实现同步的效果。 说明有9个线程同时在等待 lock 的释放。 //有 9 个线程在等待获取锁! test9 = new Test9(); Runnable runnable = () -> test9.waitMethod(); Thread threadA = new

    2.3K30发布于 2020-08-05
  • 来自专栏前端学习归纳总结

    Java核心技术 对象与类

    Java中,使用构造器构造新实例。构造器是一种特殊的方法,用来构造并初始化对象。 在实际开发中,通常需要将对象存放在一个变量中来达到多次使用的目的。 在Java开发中,一定要认识到,一个对象变量并没i月实际包含一个对象,而仅仅使用一个对象,任何对象变量的值都是对存储在另外一个地方的一个对象的引用。 方法参数:  Java中的参数是一种值引用。 首先,观察一下基本数据类型(数字、布尔值)。 看到这里,或许会认为Java的对象参数是引用调用,实际上,并不是。 static void swap(Employee x, Employee y) // doesn't work { Employee temp = x; x = y; y = temp; } 如果Java

    61130发布于 2019-01-21
  • 来自专栏公众号:懒时小窝

    Java】A Guide to Java 9 Modularity

    引言近期在 Baeldung 看到了一篇有关Java9模块化入门介绍的文章,整体翻译加理解下来发现确实不错,个人认为美中不足的是项目构建过于简单和偏手动,个人建议找一些简单的Java9以及之上的开源项目结合参考使用更佳 原文A Guide to Java 9 Modularity | Baeldung1. Module System (JPMS), or “Modules” for short.Java 9 在包上面引入了新的层次,正式的名称叫做 Java 平台模块系统(JPMS),或者更简单称之为“模块 Default ModulesWhen we install Java 9, we can see that the JDK now has a new structure.安装JDK9之后可以看到现在有一个新结构 比如我们使用Java9运行低版本的Java8的程序时候,可能需要添加模块化。

    42920编辑于 2023-06-27
领券