![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 71
Java及Java相关介绍使用
NameExist
温故而知新!
展开
-
JDK动态代理、CGLIB动态代理
JDK动态代理JDK动态代码是java.lang.reflect.*包提供的方式,它必须借助一个接口才能产出代理对象。定义一个接口/** * 定义接口,JDK动态代理必须借助一个接口才能产生代理对象 */public interface HelloService { void sayHelloWorld();}创建接口实现类/** * 实现类 */public class HelloServerImpl implements HelloService {原创 2021-05-21 10:19:52 · 1489 阅读 · 0 评论 -
Java—FTP文件服务器工具类FtpUtil
Ftp文件服务器上传下载文件操作工具类package ftp;import org.apache.commons.net.ftp.FTPClient;import org.apache.commons.net.ftp.FTPFile;import org.apache.commons.net.ftp.FTPReply;import java.io.*;import java.nio.file.Files;import java.nio.file.Paths;/** * @author原创 2021-05-06 22:19:28 · 194 阅读 · 0 评论 -
Httpclient发送Post、Get请求、文件上传下载
文章目录Httpclient普通Get请求带头信息的Get请求Post请求提交form表单Post请求提交Json对象Httpclient下载文件Httpclient文件上传Httpclient多文件上传全部代码httpclientHttpclient引入maven依赖<!-- httpclient依赖 --><dependency> <groupId>org.apache.httpcomponents</groupId> <arti原创 2021-04-30 17:05:44 · 1841 阅读 · 1 评论 -
Java—NIO介绍及使用
NIOjava.nio全称java non-blocking IO,是指jdk1.4 及以上版本里提供的新api(New IO) ,为所有的原始类型(boolean类型除外)提供缓存支持的数据容器,使用它可以提供非阻塞式的高伸缩性网络。文章目录NIO三大组件ByteBuffer的使用Channel的使用网络编程Selector网络编程(多路复用)三大组件NIO三大组件:Channel、Buffer、SelectorChannel 和BufferChannel是一个对象,可以通过它读取和写原创 2021-04-27 23:28:55 · 270 阅读 · 1 评论 -
Java—ArrayList数据结构及扩容机制
ArrayList数据结构ArrayList底层用数组实现。数组的特点:查找快:按下标查找,时间复杂度为O(1)删除慢:删除时需要将删除位置后面所有的元素向前移动一个位置,时间复杂度为O(n)插入:非尾部插入慢:需要将插入位置后面的元素全部向后移动一位,时间复杂度为O(n)尾部插入快:直接插入到数组arr[arr.length]位置,时间复杂度为O(1)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PVR6a2PC-1616734073216)(C:原创 2021-03-26 12:48:19 · 312 阅读 · 0 评论 -
Java—HashMap介绍及源码分析
HashMap数据结构HashMap是一种散列表散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。HashMap数据的数据结构:数组 + 链表 + 红黑树(jdk1.8)。jdk1.7是用的数组+链表,1.8增加了链表和树的转换。简单操作流程:当设置值时,把传入的key(key.hashCode())通过hash算原创 2021-03-21 12:42:34 · 1611 阅读 · 3 评论 -
Java—使用poi和easyexcel读写excel文件
Apache的poi处理Excelmaven依赖<!--xls --><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version></dependency><!-- xlsx --><dependency&g原创 2021-03-15 20:23:35 · 1677 阅读 · 2 评论 -
Java—IO及常用的文件操作
IO是指Input/Output,即输入和输出。以内存为中心:Input指从外部读入数据到内存,例如,把文件从磁盘读取到内存,从网络读取数据到内存等等。Output指把数据从内存输出到外部,例如,把数据从内存写入到文件,把数据从内存输出到网络等等。File对象Java的标准库java.io提供了File对象来操作文件和目录/** * 常用方法 * exists 判断是否存在 * isFile 判断是不是文件 * isDirectory 判断是否文件夹 * createNewFi.原创 2021-02-28 11:33:19 · 1747 阅读 · 3 评论 -
Java—自定义注解及使用
注解是放在Java源码的类、方法、字段、参数前的一种特殊“注释”,注解则可以被编译器打包进入class文件,因此,注解是一种用作标注的“元数据”。注解本身对代码逻辑没有任何影响,如何使用注解由注解解析工具决定(读注解、自定义逻辑)元注解:用来修饰注解的注解一、@Target() : 定义注解应用于哪些位置 类或接口:ElementType.TYPE; 字段:ElementType.FIELD; 方法:ElementType.METHOD; 构造方法:ElementType.CONSTRU.原创 2021-02-05 17:01:18 · 535 阅读 · 4 评论 -
Java—线程池
一、使用线程池主要有以下三个原因 1)、创建/销毁线程需要消耗系统资源,线程池可以复用已创建的线程。 2)、控制并发的数量。并发数量过多,可能会导致资源消耗过多,从而造成服务器崩溃。(主要原因) 3)、可以对线程做统一管理Java中的线程池顶层接口是Executor接口,ThreadPoolExecutor是这个接口的实现类。二、ThreadPoolExecutor类 java.util.concurrent.ThreadPoolExecutor/** * 构造方法 5个参数 * @p原创 2021-01-08 20:20:25 · 309 阅读 · 0 评论 -
Java—线程ThreadLocal类使用及源码分析
ThreadLocal: 提供线程局部变量。与线程类Thread同包,将Thread类下的threadLocals(threadLocals作用域是default,同包内可以访问)对象提供对外操作方法。设置引用对象,设置key-value,根据key(ThreadLocal)获取值。public class MyThreeLocal { /** * ThreadLocal 提供线程局部变量threadLocals,已threadLocal本身为key,设置ThreadLocalMap(原创 2021-01-08 20:14:21 · 326 阅读 · 0 评论 -
Java—线程锁
Java多线程的锁都是基于对象的。Java类只有一个Class对象(可以有多个实例对象,多个实例共享这个Class对象),而Class对象也是特殊的Java对象。所以我们常说的类锁,其实就是Class对象的锁。synchronized :同步。java线程锁关键字。通过synchronized关键字加锁主要有三种形式:public class Sync { public final static Object lock = new Object(); //锁为当前对象 p原创 2021-01-08 20:04:54 · 665 阅读 · 0 评论 -
Java—正则表达式
正则表达式: 又称规则表达式*。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。目的: 1、给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”)。 2、可以通过正则表达式,从字符串中获取我们想要的特定部分。javaJAVA正则表达式实例:Java标准库的java.util.regex包内置了正则表达式引擎,在Java程序中使用正则表达式非常简单。pu原创 2021-01-08 19:46:52 · 346 阅读 · 0 评论 -
Java—线程创建,线程运行状态,睡眠、等待、唤醒、中断线程
创建线程:1、继承Thread类,覆盖run()方法public class MyThread extends Thread { @Override public void run() { System.out.println("线程=====:" + Thread.currentThread().getName()); } public static void main(String[] args) { for(int i = 0 ;原创 2020-11-24 22:16:37 · 845 阅读 · 0 评论 -
Java程序打包成可执行.exe文件
分享一个Java Swing讲解很详细的博客:https://blog.csdn.net/xietansheng/article/details/72814492我这里是用Java Swing做的一个简单的java程序,主要是一个自动登录浏览器下载文件然后传输接口的程序,登录的时候各别站点登录不上去,随手写一个java程序让业务下载下来手动操作。界面如下:(功能就是选择一个亚马逊下载下来的订单报告,然后提交后会调用自己系统的接口把信息同步过来。)首先准备好可执行的jar包,项目中用到的jar包也需原创 2020-09-20 14:08:51 · 1568 阅读 · 0 评论 -
Java基础—反射
Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。反射被视为动态语言的关键。//User类,子类User user = new User();//Parent类,User的父类Parent parent = new Parent();//获取类的类型Class的三种方式Class z.原创 2020-09-13 10:13:18 · 360 阅读 · 0 评论