课堂java

java开发环境

java开发环境 编译运行过程 (1)编译期 将.java源文件交给编译器编译成.class字节码文件的过程 (2)运行期 把编译后的.class字节码文件经过JVM加载并运行.class字节码文件 配置环境变量 windows 10系统下配置JDK环境变量: (1).安装JDK,安装过程中可以自定 ......
环境 java

Java面试题4

Java面试题(第四天) 1.双亲委派机制 双亲委派机制是指当一个类加载器收到一个类加载请求时,该类加载器首先会把请求委派给父类加载器。 每个类加载器都是如此,只有在父类加载器在自己的搜索范围内找不到指定类时,子类加载器才会尝试自己去加载。 1.当Application ClassLoader 收到 ......
Java

Java面试题5

Java面试题(第五天) 1.对线程安全的理解 不是线程安全,应该是内存安全,堆是共享内存,可以被所有线程访问 当多个线程访问一个对象时,如果不用进行额外的同步控制或其他协调操作,调用这个对象的行为都可以获得正确的结果,我们就说这个对象时线程安全的 堆是进程和线程共有的空间,分全局堆和局部堆。全局堆 ......
Java

JAVA多线程之线程间的通信方式

一,介绍 本总结我对于JAVA多线程中线程之间的通信方式的理解,主要以代码结合文字的方式来讨论线程间的通信,故摘抄了书中的一些示例代码。 二,线程间的通信方式 ①同步 这里讲的同步是指多个线程通过synchronized关键字这种方式来实现线程间的通信。 参考示例: public class MyO ......
线程 方式 JAVA

Java面试题2

Java面试题(第二天) 1.重载和重写的区别 重载:发生在同一个类中,方法名必须相同,参数类型不同,个数不同,顺序不同,方法返回值和访问修饰符可以不同,发生在编译时期 重写:发生在父子类中,方法名、参数列表必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类,如 ......
Java

Java面试题3

Java面试题(第三天) 1.HashMap和HashTable的区别? a.区别 多线程环境下,HashTable比HashMap更安全,因为HashTable都加了一个synchronized修饰 HashMap允许key和value为null,而HashTable不允许 b.HashMap底层 ......
Java

Java面试题1

Java面试题(第一天) 1.JDK、JRE、JVM三者区别和联系 区别: JDK:Java Development Kit(Java开发环境) JRE:Java Runtime Environment(Java运行环境) JVM:Java Virtual Machine(Java虚拟机) 联系: ......
Java

Java-并发编程-进阶篇

在上一篇幅中对并发编程进行了简单介绍:并发与并行,进程与线程,以及并发编程的简单代码 但是在企业中往往并不能解决实际问题,例如: 1.synchronized关键字在企业开发中会大大降低系统的性能 2.当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。线程对象在不同的时 ......
Java

Java 基础 - 多态(动态绑定)的底层原理:虚函数表

为了实现Java方法调用的动态绑定,HotSpot使用了与C++虚函数类似的机制,同时为了避免每个对象都维护一个虚函数表,就是设计了Oop-Klass模型,用Klass类保存类的元数据和虚函数表。 多态的理解 从java语言层面看,多态是指在编译期间不确定实际类型,在运行期间才根据实际类型调用具体的 ......
底层 函数 原理 基础 动态

Java数组_03数组执行原理

1、运行主要用到的三个区: 2、执行原理: ......
数组 原理 Java 03

java笔记_14_邮箱发送

JavaMailSender:默认使用配置文件中的发送人邮箱密码等 JavaMailSenderImpl:方法中使用Impl对象,可手动设置发送账户密码 application.yml spring: #spring集成配置(省略创建session过程) mail: host: #邮件服务器地址 p ......
邮箱 笔记 java 14

Java数组_01静态初始化数组

1、初始化 2、访问数组数据 ......
数组 静态 Java 01

秦疆的Java课程笔记:09-12 预科 下

09 预科 软件及软件开发 软件可以使计算机按照事先预定好的顺序完成特定的功能。 大概分为两类:系统软件,应用软件。 系统软件: DOS操作系统,Disk Operating System磁盘操作系统 Windows,家用视窗操作系统 Linux,服务器端用的比较多的 Unix Mac,苹果电脑 A ......
预科 课程 笔记 Java 09

BigDecimal java.lang.ArithmeticException: / by zero问题

BigDecimal bigDecimal=new BigDecimal("0.0"); BigDecimal bigDecimal1=new BigDecimal(0); //一定要用compareTo去比较被除数是否为0,不能用equals if (BigDecimal.ZERO.compare ......

Java拾贝第十四天——集合之Set

Set Set是Collection的子接口,其定义如下: public interface Set<E> extends Collection<E> 与List相同,此接口也使用了泛型,使用时必须指定具体的类型。 Set常见的实现子类:HashSet、TreeSet HashSet HashSet ......
Java Set

详解Java LinkedList

LinkedList简介 LinkedList是List接口的实现类,基于双向链表实现,继承自AbstractSequentialList类,同时也实现了Cloneable、Serializable接口。此外还实现了Queue和Deque接口,可以作为队列或双端队列使用。 LinkedList的插入 ......
LinkedList Java

java练习:二维码生成和输出

<!--二维码生成--><dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>2.2</version></dependency><dependency> <groupId>co ......
java

Java反序列化-URLDNS链分析

概述 URLDNS是ysoserial中的一条反序列化链名称,主要作用就是可以指定一个URL,当目标进行反序列化后会发起DNS请求,通过观察DNSlog就能判断序列化数据是否被反序列化。下面通过下载ysoserial源码,对URLDNS进行动态调试,了解其中原理,顺带了解一下ysoserial构造序 ......
序列 URLDNS Java

java HTTP请求传输文件

public static String PostUpFile(String surl,String fpath, String sysType,String filename, String user, String password, String fileid,InputStream stre ......
文件 java HTTP

java语言基础

在计算机编程中,标识符是用来代表变量、函数、类、模块等命名实体的名称。标识符可以包含字母、数字和下划线,并且必须遵循一些特定的规则和约定。 以下是一些通用的标识符规则: 只能以字母(包括大写和小写)、下划线(_) 或者某些特殊字符(在某些编程语言中)开头。 其余部分可以是字母、数字、下划线,但不能包 ......
语言基础 语言 基础 java

Java语言基础知识点梳理与总结

Java语言基础知识点梳理与总结 Java是一种广泛应用于软件开发的编程语言,具有丰富的特性和功能。在学习Java语言时,了解以下基础知识点对于建立坚实的编程基础非常重要。本博客将介绍Java语言中的标识符、运算符、流程控制、循环结构、分支结构、数组、方法、类与对象等主要知识点。 标识符 标识符是用 ......
语言基础 知识点 语言 基础 知识

Java踩坑之List的removeAll方法

最近写个功能,需要用到差集,然后就想到了java List 中有一个removeAll方法,正好可以实现差集功能,可以直接调用。 我们知道,apache 的common-collections 包下面得CollectionUtils.subtract()方法也可以对List作差集,为了比较两种方式差 ......
removeAll 方法 Java List

Java并发编程-volatile

volatile是java虚拟机提供的一种轻量级的同步机制,它有三个重要的特性: 保证可见性 不保证原子性 禁止指令重排 要理解这三个特性,就需要对JMM(JAVA内存模型)有一定的了解才行。 主要解决的问题: JVM中,每个线程都会存在本地内存,本地内存是公共内存的副本,各个线程的本地内存相互隔离 ......
volatile Java

Java两种动态代理方式-JDK动态代理和Cglib动态代理

Java中两种常用动态代理方式 转载:java | 什么是动态代理? - 知乎 (zhihu.com) 什么是动态代理?两种常用的动态代理方式-CSDN博客 基于接口的动态代理 基于类的动态代理 提供者 JDK 第三方CGLib 说明 使用JDK官方的Proxy类创建代理对象 使用CGLib的Enh ......
动态 方式 Cglib Java JDK

JAVA语言基础

Java是一种高级编程语言,最初由Sun Microsystems(后被Oracle收购)于1995年发布。它被广泛用于开发各种类型的应用程序,从桌面应用程序到移动应用程序和大型企业级应用程序。以下是Java语言的一些基础知识: 1.跨平台性:Java以"Write Once, Run Anywhe ......
语言基础 语言 基础 JAVA

java的一些基础知识

Java标识符: Java标识符是用来标识Java中的变量、方法、类等名称的。Java标识符的命名规则如下: 1. 标识符只能由数字、字母、下划线和美元符号组成。2. 第一个字符必须是字母、下划线或美元符号。3. 标识符的长度没有限制。4. 标识符是区分大小写的。 Java运算符: Java运算符是 ......
基础知识 基础 知识 java

javap - 查阅 Java 字节码

javap命令可以用来查阅字节码文件,可以将指定的字节码文件反编译,反解析出当前类对应基本信息、常量池(Constant pool)、字段区域、 方法区(Code[JVM指令集])、异常表(Exception table)、本地变量表(LocalVariableTable)、行数表(LineNumb ......
字节 javap Java

「Java开发指南」如何用MyEclipse搭建Spring MVC应用程序?(一)

本教程将指导开发者如何生成一个可运行的Spring MVC客户应用程序,该应用程序实现域模型的CRUD应用程序模式。在本教程中,您将学习如何: 从数据库表的Scaffold到现有项目 部署搭建的应用程序 MyEclipse v2023.1.2离线版下载 MyEclipse技术交流群:74233698 ......

java语言基础

1. 标识符在Java中,标识符是用于命名变量、方法、类和其他各种元素的名称。标识符的命名规则包括: 可以包含字母、数字、下划线和美元符号。必须以字母、下划线或美元符号开头。大小写敏感。不能使用Java的保留字(例如:public、class、static等)作为标识符。 2. 运算符Java提供了 ......
语言基础 语言 基础 java
共10341篇  :70/345页 首页上一页70下一页尾页