语法 随笔 基础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语言层面看,多态是指在编译期间不确定实际类型,在运行期间才根据实际类型调用具体的 ......
底层 函数 原理 基础 动态

C#学习之五大基础控件

Label 常见属性: Text: 显示的文本内容。 Font: 设置字体属性。 ForeColor: 设置前景颜色。 BackColor: 设置背景颜色。 AutoSize: 控制是否自动调整大小。 常见方法: Invalidate(): 使 Label 的整个显示区域无效。 Refresh(): ......
控件 基础

Java数组_03数组执行原理

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

java笔记_14_邮箱发送

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

每日随笔——使用Maven对Scala独立应用程序进行编译打包

通过之前的博客,我们已经下载好maven并配置好环境,且能实现 (一)使用sbt对Scala独立应用程序进行编译打包 (二)使用Maven对Java独立应用程序进行编译打包 现在进行最后一步:使用Maven对Scala独立应用程序进行编译打包 Java应用程序代码 cd /export/server ......
应用程序 随笔 程序 Maven Scala

Redis基础学习:Stream操作

目录1.基本操作XADDXRANGEXDELXREVRANGE2.监听项目XREAD3.消费者组4.转移5.其它6.裁剪7.总结 又来一个不好理解的东西,Stream 类型,而且它是整个 Redis 中对于数据操作最复杂的一种类型。但话又说回来,其实这个东西吧,还是个队列,只不过又是一种换了形式的队 ......
基础 Stream Redis

(四)C#编程基础复习——运算符

运算符其实就是一个符号,用来告诉编译器执行特定的数学或者逻辑运算。C#中内置了丰富的运算符,大致可以分为以下几类: 一、算术运算符 算术运算符即完成特定算术运算的符号,例如加、减、乘、除、余等,如下图所示: int a = 10; int b = 20; Console.WriteLine("a+b ......
运算符 基础

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

基础Dos指令

注意,所有指令均使用半角符号输入! 每一个指令都以回车确认执行! 1、退出终端 exit 实际效果是关闭CMD窗口。 2、清理屏幕 cls cls=clear screen 3、盘符切换 (以切换到D盘为例) D: 4、查看当前目录下的所有文件 dir 5、切换目录 cd cd=change dir ......
指令 基础 Dos

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

Docker基础

Docker基础 Docker常见命令 Docker最常见的命令就是操作镜像、容器的命令,详见官方文档: https://docs.docker.com/ 案列:查看DockerHub,拉取Nginx镜像,创建并运行Nginx容器 拉取镜像 docker pull nginx 查看镜像 docker ......
基础 Docker

linux基础设置

前言 看到了很多的linux方面的教程,但是都只是看着博客并且跟着操作,思考的方面还是不够多,容易遗忘,所以写一个关于初始化过程的一个记录贴。 在进一步学习Linux之前,建议大家也可以对自己的VPS做一些安全防护。这里会介绍一些通用的、简单的但却十分有效的安全措施。 环境 uname -a # L ......
基础 linux

java语言基础

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

python的Selenium基础

前言:今日写hackergame2023时需要使用 python selenium库故特此来学习 1.1 什么是Selenium Selenium是python的一个库,作为一套web网站的程序自动化操作解决方案,可以帮我们自动干很多事情。比如 像人一样再浏览器里操纵web界面,比如点击界面,在文本 ......
Selenium 基础 python