
JAVA
文章平均质量分 55
Y734493585
这个作者很懒,什么都没留下…
展开
-
JVM复习
JVM复习原创 2022-08-26 22:00:05 · 218 阅读 · 0 评论 -
javaSE复习
javase复习原创 2022-08-26 21:58:48 · 493 阅读 · 0 评论 -
计算机复习
复习原创 2022-08-25 02:56:48 · 946 阅读 · 0 评论 -
java常用语法
1.数组定义int data[] = new int[3];int data[] = {1,2,3};int data[] = new int[]{1,2,3};原创 2021-12-27 15:08:42 · 195 阅读 · 0 评论 -
springboot项目实现https无端口访问
1.购买证书,下载jks格式2.将jks复制到resource目录3.application配置server: port: 8443 ssl: key-store: classpath:SHA256withRSA_liuma.tech.jks key-password: haDDZdqaXZre key-store-type: JKShttp: port: 804.启动类加入:用于转发http为https @Bean public TomcatSe原创 2021-12-16 21:59:30 · 1074 阅读 · 0 评论 -
JVM笔记
JVM1.关于jvm运行字节码(不管源文件什么语言)jvm是程序虚拟机(区别于系统虚拟机)jvm主要功能:内存管理 和 垃圾回收目前主要使用的JVM为HotSpot,它采用解释器和即时编译器并存的架构翻译字节码(解释执行):一行行执行,响应快,速度慢,类似走路Jit编译器(翻译执行):像一些重复的代码会保存下来,下次执行就很快,响应慢,速度快,类似等公交车。jvm采用的是基于栈的指令架构基于栈的指令架构:指令集小,不与硬件直接打交道,可移植,跨平台。基于寄存器指令架构原创 2021-09-13 20:58:10 · 429 阅读 · 0 评论 -
java实现qq发送email
java实现qq发送email1.开通SMTP服务器1.1说明要实现程序发送email,首先需要一个发送账户,首先需要开通qq邮箱的SMTP服务器,SMTP服务器,可以理解为就是用来寄信的。如果想用如果想用第三方的邮件代管系统来发送邮件的话,就必须开启SMTP服务。1.2步骤打开qq邮箱设置点击账户划到下面打开前面两个服务,然后会获得一个密码,记住这个密码(需要密保手机发送短信)2.java后台代码(需要先引包 点击下载)package com.goodjack.matchmake原创 2020-08-26 12:52:42 · 615 阅读 · 0 评论 -
Java 正则表达式
Java 正则表达式正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。Java中的三个类:Pattern 类:pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。 Stri...转载 2019-07-25 14:23:38 · 418 阅读 · 0 评论 -
简单理解JavaIO流
IO流字符流和字节流字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象。本质其实就是基于字节流读取时,去查了指定的码表。 字节流和字符流的区别:读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型的数据。结论:只要是处理纯...转载 2019-07-26 09:05:28 · 508 阅读 · 0 评论 -
java环境变量配置
下载jdk默认安装(记住安装位置,配置环境变量时需要)配置环境变量位置:计算机—>属性—>高级系统设置—>环境变量—>系统变量新建:变量名:JAVA_HOME;变量值:jdk目录。找到Path环境变量,在变量值的最前面添加%JAVA_HOME%\bin;检查进入cmd 窗口,输入java -version,若成功会显示下面内容:...原创 2019-07-22 13:21:21 · 422 阅读 · 0 评论 -
java执行机制
javac 主类名.java (将源码编译为字节码)java 主类名(给虚拟机传递类名,虚拟机自动查找对应class 文件并执行,在java11后新增可直接运行一个单文件源码)...原创 2019-07-22 13:35:59 · 431 阅读 · 0 评论 -
Java多线程入门详解
多线程两种实现方式1.继承Thread类定义一个Thread子类;覆盖run方法(线程执行事件方法);创建该线程的一个实例:Thread t=new MyThread();启动线程t1.start;实例:public class Main3 extends Thread{ int a; Main3(int a) { this.a=...原创 2019-07-26 10:27:45 · 511 阅读 · 0 评论 -
内部类,包装类,接口,final,static,成员修饰
地址空字符串不能使用equals();常量的地址是不变的(等号判断的为是否指向同一个地方) { String s1 = "ab"; String s2 = new String("ab"); System.out.println(s1 == s2);//ture; } ...原创 2019-07-24 08:45:49 · 503 阅读 · 0 评论 -
原码、反码、补码
计算机运算的都是补码。正数:原码=反码=补码负数:反码:第一位为1,其他位由原码变为原来相反数(原码+反码=进位前的最大值)补码:为反码+1(原码+补码=进制数)1字节范围为[−27-2^7−27,27−12^7-127−1]——[1111 1111,0111 1111]...原创 2019-07-23 14:38:12 · 527 阅读 · 0 评论 -
java网络编程入门
java网络编程一、Socket编程1. 含义:套接字使用TCP提供了两台计算机之间的通信机制。 客户端程序创建一个套接字,并尝试连接服务器的套接字。当连接建立时,服务器会创建一个 Socket 对象。客户端和服务器现在可以通过对 Socket 对象的写入和读取来进行通信。2. 实例服务器: public class ServerTest { public static v...原创 2019-07-28 10:39:58 · 174 阅读 · 0 评论 -
java日志
java标准库提供的日志Commons LoggingCommons Logging的特色是,它可以挂接不同的日志系统,并通过配置文件指定挂接的日志系统。默认情况下,Commons Loggin自动搜索并使用Log4j(Log4j是另一个流行的日志系统),如果没有找到Log4j,再使用JDK Logging。apache官网下载commons-logging-1.2-bin.zip导入项...原创 2019-07-25 10:17:45 · 397 阅读 · 0 评论 -
Java异常
异常分类必须捕获的异常,包括Exception及其子类,但不包括RuntimeException及其子类,这种类型的异常称为Checked Exception。不需要捕获的异常,包括Error及其子类,RuntimeException及其子类。...转载 2019-07-25 08:29:04 · 443 阅读 · 0 评论 -
Comparable和Comparator比较
Comparable实现:若按照类中某个成员变量或多个变量排序,通过修改类,实现Comparable< Object >接口(这里 Object 填写你需要排序的类 ),覆盖comparaTo方法后,再使用Arrays.sort(Object)(若是对集合排序可用Collection.sort(Object))源码import java.util.Arrays;impor...原创 2019-05-17 08:25:01 · 348 阅读 · 0 评论 -
Arrays.sort 和Collections.sort比较
Arrays.sortArrays.sort 针对任意对象,排序的类型就为传入的对象类如:Arrays.sort(a)//这里a为数组,可以是 int/String /类 数组,排序类型依次为int ,String ,类Collections.sortCollections.sort 针对集合(List),排序类型为List对应的类型如:Collections.sort (l)//这里...原创 2019-05-17 09:11:11 · 1293 阅读 · 0 评论 -
String ,StringBuffer ,StringBuilder对比
String :不可变性,若频繁修改字符串时,会产生很多无用的中间对象,效率很低StringBuffer :就是为了解决大量拼接字符串时产生很多中间对象问题而提供的一个类,保证了多线程时的安全,所以会消耗额外的性能。StringBuilder :跟StringBuffer类似。但未考虑多线程的安全性,但效率比StringBuffer高。使用推荐:不涉及大量字符串的改变时...原创 2019-05-17 09:15:22 · 315 阅读 · 0 评论 -
java 中int和Integer区别
int和Integer的区别Integer是int的包装类,int则是java的一种基本数据类型Integer变量必须实例化后才能使用,而int变量不需要Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值Integer的默认值是null,int的默认值是0(注意:char 的包装类为Character ,其他的包...转载 2019-05-17 09:34:42 · 319 阅读 · 0 评论 -
JAVA类加载器
一、类加载器类的加载:当程序使用某个类时,若该类未被加载到内存中,则系统会通过 加载、连接、初始化三步来实现类的初始化。1.类加载的三个步骤1.1加载(通过类加载器实现):将class文件读入内存,并为它创建一个Class对象(任何类在使用时,系统都会为它创建一个Class对象)1.2链接:验证:内部结构是否正确。准备:复制为类的静态变量分配内存,并设置默认值。解析:将类...翻译 2019-05-17 09:36:28 · 284 阅读 · 0 评论 -
JAVA反射
反射1.定义:通过class文件对象,即Class类的对象(不是通过该类的对像),去使用该类的成员变量,构造方法,成员方法2.Class类:对应的成员变量,构造方法,成员方法都是类。(反射就是先得到Class类对象,再通过该对象获得它的成员变量/构造方法/成员方法,最后分别通过成员变量/构造方法/成员方法的对象调用对应的方法)获取Class类的对象的方法法一:Person ...翻译 2019-05-17 09:37:19 · 296 阅读 · 0 评论 -
动态代理
动态代理1.含义:在运行过程中产生某个对象,可以在运行的时候才切入改变类的方法,而不需要预先定义它。在java的动态代理机制中,有两个重要的类和接口:Proxy(Class),InvocationHandler(Interface)通过这个类和接口就能生成一个动态代理对象(注意JDK提供的代理只能针对接口做代理,要对类做代理可以用cglib)。每一个动态代理类都必须要实现Invocati...翻译 2019-05-17 09:37:57 · 322 阅读 · 0 评论 -
设计模式
设计模式1.设计思想:1.1单一职责思想设计原则:每个类实现一种功能,引起改变的原因也只有一个。1.2开闭原则对类改动通过增加代码,而不是修改代码(对类的改动通过增加代码进行,而不是修改代码)多借助抽象和多态。1.3里氏替换原则任何父类出现的地方都应该可以用其子类替换。(同一个继承体系拥有共同的特征)1.4依赖注入原则要依赖于抽象类,不要依赖于具体实现类1.5接...翻译 2019-05-17 09:38:36 · 299 阅读 · 0 评论 -
test
import java.io.InputStream;import java.net.URI;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.*;import org.apache.hadoop.io.IOUtils;public class FileSystemCat {public st...翻译 2019-06-03 23:01:58 · 337 阅读 · 11 评论 -
通过多线程计算PI的值
通过多线程计算PI的值1.PI公式:PI=4*(1-1/3+1/5-1/7+…1/(n*2-1))2.多线程计算思路:通过将PI的计算分为n个部分,分配到n个线程上进行计算,再将最后的结果进行求和。3.计算步骤及原理:设将PI的计算分为n个线程,共计算公式的前m次。将一加一减固定为一个基本单位。即:(1-1/3)+(1/5-1/7)+…+(1/(2n-3)+1/(n*2-1)),...原创 2019-07-28 22:58:21 · 6069 阅读 · 0 评论 -
继承,多态,抽象类,接口
继承Override和Overload不同的是,如果方法签名如果不同,就是Overload,Overload方法是一个新方法;如果方法签名相同,并且返回值也相同,就是Override。加上@Override可以让编译器帮助检查是否进行了正确的覆写。希望进行覆写,但是不小心写错了方法签名,编译器会报错。...原创 2019-07-24 09:24:47 · 502 阅读 · 0 评论 -
classpath、jar、模块
classpathclasspath是JVM用到的一个环境变量,它用来指示JVM如何搜索class。JVM不依赖classpath加载核心库!转载 2019-07-24 14:50:48 · 585 阅读 · 0 评论 -
JAVAGUI
#JAVA GUI一、布局管理器(默认边界布局,可不写)1. 边界布局管理器(BorderLayout)添加按钮例子 this.add(jButton1,BorderLayout.NORTH); this.add(jButton2,BorderLayout.SOUTH); this.add(jButton3,BorderLayout.WEST);...原创 2019-07-29 23:57:35 · 476 阅读 · 0 评论 -
JAVA高阶(类加载器、反射、动态代理、设计模式)
类加载器类的加载:当程序使用某个类时,若该类未被加载到内存中,则系统会通过 加载、连接、初始化三步来实现类的初始化。加载(通过类加载器实现):将class文件读入内存,并为它创建一个Class对象(任何类在使用时,系统都会为它创建一个Class对象)链接:验证:内部结构是否正确。准备:复制为类的静态变量分配内存,并设置默认值。解析:将类的二进制数据中的符号引用替换为直接引用...原创 2019-05-15 11:36:27 · 664 阅读 · 0 评论