java
文章平均质量分 54
sgy_yuebin
java爱好者
展开
-
完全开源的代码生成器之code-generator
code-generator是一个低代码平台, 可以解决90%单表增删改查工作量, 你可以通过自定义代码模板来生成适合自己的代码。目前该系统主要针对的是语言是java, 数据源是mysql(其他数据库待测试),数据源支持mysql, oracle, dm, PostgreSql等数据库。支持vue前端吗?理论上只要你定义好了vue代码模板, 也是可以支持前端代码生成java8运行环境, 数据存储使用的是内嵌h2数据库(可切换到mysql)构建代码采用 maven3.8简介常用代码模板。原创 2022-12-13 20:03:07 · 5665 阅读 · 0 评论 -
面试题之java代码块执行顺序
package com.itvip666.jucjvm;class CodeBlock1 { { System.out.println("CodeBlock1 ************ 构造块111"); } static { System.out.println("CodeBlock1 ************ 静态代码块222"); } public CodeBlock1() { System.out.print原创 2021-01-23 14:17:10 · 227 阅读 · 0 评论 -
java之包装类
包装类java.lang包下为8种基本数据类型提供对应的包装类8中基本数据类型对应的包装类包装类的作用(重要)包装类提供了字符串、基本数据类型和包装类相互转化的方法包装类的基本使用数字基本数据类型的包装类都继承了Number类,它们的使用方式相似,下面以常用的基本数据类型int对应的包装类Integer为例说明数字类型包装类的使用。基本数据类型 int值转化为Integer类型对象int i = 20;Integer integer1 = new Integer(i);//方法一In原创 2021-01-22 20:09:01 · 106 阅读 · 0 评论 -
java之方法(非常重要)
1. 函数的概念java中的方法就是函数,只是叫法不同而已示意图2. 函数调用在主函数中调用自定义的函数。3. 函数中的参数参数 运行函数时需要的已知条件传一个参数传多个参数4. 形参与实参形参与实参一点关系也没有,即使一样也互不影响。5. 返回值返回值 函数执行结束后的结果,返回到调用的位置。只带返回值的函数...原创 2021-01-22 20:06:32 · 130 阅读 · 0 评论 -
maven 修改maven本地仓库的位置
<localRepository>D:\\Docments\\m2\\repository</localRepository>原创 2021-01-22 20:04:25 · 187 阅读 · 0 评论 -
java中Statement详细用法
java中Statement详细用法1、创建 Statement 对象建立了到特定数据库的连接之后,就可用该连接发送 SQL 语句。Statement 对象用 Connection 的方法createStatement 创建,如下列代码段中所示:Connection con = DriverManager.getConnection(url, “sunny”,"");Statement stmt = con.createStatement();为了执行 Statement 对象,被发送到数据库的原创 2021-01-22 20:03:26 · 5022 阅读 · 1 评论 -
java之注释语法
1. 快速入门之无序列表/** * 这是一个用户登录方法 * <h1>你要遵循以下几点要求</h1> * <ul> * <li>雪碧</li> * <li>可乐</li> * <li>凉茶</li> * </ul> */ public void login(){ Syste原创 2021-01-22 20:02:46 · 225 阅读 · 0 评论 -
java网络编程之Socket
1. 建立Socket连接1.1. 基本知识TCP编程: 1. 客户端/服务端(Client/Server) 2. C/S架构我们开发一种产品时,需要编写客户端程序和服务端程序,服务端程序放在服务器上,客户端程序给用户使用。对于网络编程:一台电脑,代码也认为是多台电脑Socket(网络套接字):可以认为是一条网络连接ServerSocket:在指定端口建立监听,可以接收socketSocket对象中可以得到输入流和输出流,直接使用即可, 1. 输入流可以从网络对端接收数据, 2. 输出原创 2021-01-22 04:29:44 · 179 阅读 · 0 评论 -
java网络编程基础知识
1. 计算机网络的基本概念网络:多台计算机使用网络设备互联在一起,计算机之间可以进行通信,这样就组成了一个计算机网络。网络设备:集线器(HUB),路由器,交换机,猫(ADSL),网卡网络媒介:网线,无线网络分类:局域网,校园网,城域网,广域网(互联网)网络功能:共享软件资源,硬件资源(打印机,硬盘),综合信息服务(百度),数据的传输。2. 常见的网络设备 猫(调制解调器):调制解调器,是调制器和解调器的缩写 ,一种计算机硬件 ,它能把计算机的数字信号翻译成可沿普通电话线传送的模拟信号,而这些原创 2021-01-22 20:00:36 · 343 阅读 · 0 评论 -
java之解析线程不安全
线程不安全现在有一个文本文档,共享到网络上,甲乙丙丁(4个线程)可以访问该文档,同时操作文件,都对该文件进行追加内容,然后他们都对其进行了保存,谁最后保存的,该文档就显示谁的内容,其他人追加的内容丢失。线程安全现在甲打开文件,正在追加内容,这时乙想要打开文件,会提示有用户正在操作文件,请稍等,等甲修改完文件后,并保存后,这时乙才可以打开该文件,其他人也修改一样。线程同步就是排队问题。也称线程安全。...原创 2021-01-21 20:14:33 · 72 阅读 · 0 评论 -
java之泛型
1. 泛型的基本用法/** * 泛型的基本用法 泛型是就是参数化类型 * * @author 27823 * * @param <T>在实例化的时候指定类类型 */public class MyList<T> { public void add(T item) { } public T get(int index) { return null; }}public class Test { public static voi原创 2021-01-21 20:14:02 · 92 阅读 · 0 评论 -
java之UUID.randomUUID()简单介绍
UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份。UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需原创 2021-01-21 20:13:31 · 2921 阅读 · 0 评论 -
java中的集合
1. java集合类简介 集合类存放于java.util包中,集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集合中对象的引用(reference),集合类型主要有3种:set(集)、list(列表)和map(映射)。通俗的说,集合就是一个放数据的容器,准确的说是放数据对象引用的容器,而且不限制对象的数量。2. 集合和数组的区别 数组也可以把许多对象放在一起管理和维护,但是数组的长度是固定的,长度和空间创建之后不能进行修改。我们可以认为集合是一个长度自动化的原创 2021-01-21 20:12:54 · 486 阅读 · 0 评论 -
java之set转数组
列public class Test{ public void test1(){ Set<String> set = new HashSet<>(); set.add("1"); set.add("2"); set.add("3"); set.add("4"); set.add("5"); set.add("6"); }}String[] arr = set.toArray(new String[set.size()]);for(Stri原创 2021-01-21 20:06:46 · 13433 阅读 · 0 评论 -
java将Map转换为List
实例List<BlogComment> blogCommentListResult = new ArrayList<>(blogCommentMap.values());Map数据转换为自定义对象的List,例如把map的key,value分别对应Person对象两个属性:List<Person> list = map.entrySet().stream().sorted(Comparator.comparing(e -> e.getKey())).原创 2021-01-21 20:06:14 · 12345 阅读 · 0 评论 -
java之多线程
程序与进程程序:一段静态的代码,是一个普通的文件。进程:程序一次动态执行过程,程序被加载到内存条中进行执行,最后释放,加载/执行/释放也是进程的生命周期。任务:进程也可以被称为任务,基于操作系统运行的。支持多任务的系统被称为多任务系统(Windows)。多线程与进程一个进程中也可以有多个任务一起执行,比如QQ,视频的同时也可以语音,打字,还可以发表情。每个任务都被称为一个线程。多线程奥义:并发:任务同时发生,同时进行,被称为并发(并行),也就是多线程。线程不能独立纯在,必须依赖于进程,在进原创 2021-01-21 20:04:30 · 150 阅读 · 0 评论 -
java之合并两个数组
在Java中,如何把两个String[]合并为一个?看起来是一个很简单的问题。但是如何才能把代码写得高效简洁,却还是值得思考的。这里介绍四种方法,请参考选用。1. apache-commons这是最简单的办法。在apache-commons中,有一个ArrayUtils.addAll(Object[], Object[])方法,可以让我们一行搞定:String[] both = (String[]) ArrayUtils.addAll(first, second);其它的都需要自己调用jdk中提原创 2021-01-21 20:01:23 · 265 阅读 · 0 评论 -
java之可变字符串
1. 为什么要使用StringBuffer或者StringBuilder StringBuffer和StringBuilder都是带有缓冲区的可变字符串,就是存放字符串的一段空间内,其内容可以被修改。 一个String对象的长度是固定的,不能改变它的内容,也不能附加新的字符至String对象中。可以使用加号“+”运算符来连接字符串以达到附加新字符或字符串的目的,但使用加号“+”运算符会产生一个新的String实例,即需要另外分配空间。如果既想节省开销,又能改变字符串的内容,则可以使用StringB原创 2021-01-21 20:00:47 · 1314 阅读 · 0 评论 -
java之反射
1. java反射基础反射的概念主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。Java反射的应用 1. Spring框架:IOC(控制反转) 2. Hibernate框架:关联映射等 3. 白盒测试相关APIjava.lang包下 1. Class<T>:表示一原创 2021-01-22 20:00:43 · 131 阅读 · 0 评论 -
java集合类面试题
java 容器都有哪些?Collection 和 Collections 有什么区别?java.util.Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式,其直接继承接口有List与Set。Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程原创 2021-01-20 18:58:14 · 137 阅读 · 0 评论 -
JavaWeb过滤器
1. Filter概念 Filter也称之为过滤器,WEB开发人员通过Filter技术可以对web服务器管理的所有web资源:Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能2. Filter简介 Filter也是一个Java类,添加方式和普通的Java类完全相同。自定义的Filter类必须实现Filter接口,实现Filter接口中定义的方法: 1. init() :初始化时会自动调用 2. doFilter():request和resp原创 2021-01-20 18:57:06 · 237 阅读 · 0 评论 -
java的异常处理机制
1. 异常简介 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言风格:用函数返回值作为执行状态?。Java提供了更加优秀的解决办法:异常处理机制。 异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。 Java中的异常可以是函数中的语句执行时引发的,也可以是程序员通过throw 语句手动抛出的,只原创 2021-01-20 08:15:32 · 446 阅读 · 0 评论 -
java的Stream流式计算
流(Stream) 到底是什么呢?是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。集合讲的是数据,流讲的是计算!特点Stream 自己不会存储元素Stream 不会改变源对象。相反,他们会返回一个持有结果的新Stream。Stream 操作是延迟执行的。这意味着他们会等到需要结果的时候才执行。阶段创建一个Stream:一个数据源(数组、集合)中间操作:一个中间操作,处理数据源数据终止操作:一个终止操作,执行中间操作链,产生结果源头=>中间流水线=>结原创 2021-01-20 08:15:12 · 339 阅读 · 0 评论 -
java打开指定文件夹
1. notify与waitnotify解锁线程,wait锁住线程。使用notify和wait方法必须对线程进行同步,否则会报错。notify和wait是依赖于同步锁,因此synchronized中的锁,必须填写notify和wait的线程。接下来说说利用wait()和notify()来实现生产者和消费者并发问题: 1. 显然要保证生产者和消费者并发运行不出乱,主要要解决:当生产者线程的缓存区为满的时候,就应该调用wait()来停止生产者继续生产,而当生产者满的缓冲区被消费者消费掉一块时,则应该调原创 2021-01-20 08:14:57 · 821 阅读 · 0 评论 -
java多线程经典——生产者和消费者
1. notify与waitnotify解锁线程,wait锁住线程。使用notify和wait方法必须对线程进行同步,否则会报错。notify和wait是依赖于同步锁,因此synchronized中的锁,必须填写notify和wait的线程。接下来说说利用wait()和notify()来实现生产者和消费者并发问题: 1. 显然要保证生产者和消费者并发运行不出乱,主要要解决:当生产者线程的缓存区为满的时候,就应该调用wait()来停止生产者继续生产,而当生产者满的缓冲区被消费者消费掉一块时,则应该调原创 2021-01-20 08:14:39 · 94 阅读 · 0 评论 -
java查看cpu核数以及jvm内存
/** * 我的机器是8核心,16G内存 */public class JvmDemo { public static void main(String[] args) { // 查看机器的核数 System.out.println(Runtime.getRuntime().availableProcessors()); // 返回java虚拟机试图使用最大的内存量 long maxMemory = Runtime.getRun原创 2021-01-20 08:14:22 · 972 阅读 · 0 评论 -
java之面向对象
1. 对象概念什么是面向对象 1. 面向对象思想将客观世界中的事物描述为对象,并通过抽象思维方法将需要解决的实际问题分解成人们易于理解的对象模型,然后通过这些对象模型来构建应用程序的功能 2. 面向对象开发的一些概念: 类、对象、继承、封装、多态等什么是对象 1. 一切客观存在的事物都是对象,比如这辆汽车、这个人、这间房子、这张桌子、这株植物、这张支票、这件雨衣。 概括来说就是:万物皆对象。对象的组成 1. 属性(名字,性别,年龄) 2. 行为(跑,跳,放技能,吃,骂人)一个对象可以成为另原创 2021-01-20 08:14:02 · 377 阅读 · 1 评论 -
List转Map的三种方法
1. for循环import com.google.common.base.Function;import com.google.common.collect.Maps;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class ListToMap { public static void main(String[] args)原创 2021-01-20 08:16:20 · 1066 阅读 · 0 评论 -
Java字符串:matches() 方法
matches() 方法用于检测字符串是否匹配给定的正则表达式。调用此方法的 str.matches(regex)形式与以下表达式产生的结果完全相同:Pattern.matches(regex, str)参数regex — 匹配字符串的正则表达式。返回值在字符串匹配给定的正则表达式时,返回 true。public class Test { public static void main(String args[]) { String Str = new St原创 2021-01-19 09:33:06 · 3146 阅读 · 1 评论 -
java中常见的异常 java.lang.ClassCastException
java.lang.ClassCastException的java类型转换异常这个错误也很常见,通常在程序中出现强制类型转换时出现这个错误原创 2021-01-19 09:32:30 · 2380 阅读 · 1 评论 -
Java中去除StringBuffer最后一个字符
由于编写了这么一段代码:Iterator it3 = set.iterator();while(it3.hasNext()){ sb.append(it3.next()); sb.append('|');}用于生成交集,其中“|”代表交集符号,便需要去除其最后一个“|”。查阅了一下Java API 文档,有如下两个用于删除SB字符的方法:第一个delete函数用于删除从给定起始位开始到给定结束位为末的子串;第二个deleteCharAt函数用于删除给定位置的字符串。方原创 2021-01-19 09:31:47 · 2571 阅读 · 0 评论 -
java.util包
1. java.util包概述java.util包中放置了Java开发过程中常用的工具类,如日期时间类,日历类等等。2. java.util包常用类Date;Calendar及其子类;集合接口以及实现类;集合工具类;数组工具类等等。3. java.util.Date类3.1. Date概述Date类表示特定的时间,可以精确到毫秒。3.2. Date类的构造方法Date() 无参构造方法;Date(long time) 有长整形参数的构造方法;其他构造方法已经废弃不用。3.3原创 2021-01-19 09:23:25 · 6763 阅读 · 0 评论 -
Java8新特性之Optional
Java新特性之Optional Optional类(java.util.Optional)是一个容器类,代表一个值存在或不存在,原来用null表示一个值不存在,现在Optional可以更好的表达这个概念。并且可以避免空指针异常。of为非null的值创建一个Optional,如果值为null,则会抛出NullPointerExceptionpublic static void main(String[] args) { User user = null; Optiona原创 2021-01-19 09:23:05 · 115 阅读 · 0 评论 -
必须掌握的hashcode()方法
hashcode是什么?想要知道这个hashcode,首先得知道hash,通过百度百科看一下:hash是一个函数,该函数中的实现就是一种算法,就是通过一系列的算法来得到一个hash值。这个时候,我们就需要知道另一个东西,hash表,通过hash算法得到的hash值就在这张hash表中,也就是说,hash表就是所有的hash值组成的,有很多种hash函数,也就代表着有很多种算法得到hash值,如上面截图的三种,等会我们就拿第一种来说。hashcode有了前面的基础,这里讲解就简单了,hashcode原创 2021-01-19 09:22:50 · 202 阅读 · 0 评论 -
java如何获取本机IP
import java.net.*;public class Test6 { public static void main(String[] args) { // TODO Auto-generated method stub InetAddress ia=null; try { ia=InetAddress.getLocalHost(); String localname=ia.getHost原创 2021-01-19 09:22:32 · 127 阅读 · 0 评论 -
java四大函数接口
java.util.functionjava内置核心四大函数式接口实例代码//R apply(T t);函数型接口,一个参数,一个返回值Function<String,Integer> function = t ->{return t.length();};System.out.println(function.apply("abcd"));//boolean test(T t);断定型接口,一个参数,返回booleanPredicate<String> p原创 2021-01-19 09:22:18 · 97 阅读 · 0 评论 -
java之数组
1. 变量数组数据数组: int[] 整型数组类型int[] a = new int[5];创建一个整型数组,名称为a,长度为51.1. int型数组1.2. 字符串数组1.3. 遍历数组方法1方法22. 冒泡排序2.1. 思路2.2. 程序实现将数组的小数放在前面3. 数组如何截取byte数组截取当然要提到效率非常高的arraycopy,java中调用方式如下:System.arraycopy(src, srcPos, dest, destPos, length)原创 2021-01-19 09:22:00 · 68 阅读 · 0 评论 -
java.text包
1. DateFormat抽象类DateFormat是一个抽象的时间格式化类,格式化,就是变为指定格式的字符串。DateFormat 是日期/时间格式化的抽象类,它以与语言无关的方式格式化并解析日期或时间。 DateFormat 可帮助进行格式化并解析任何语言环境的日期。对于月、星期,甚至日历格式(阴历和阳历),其代码可完全与语言环境的约定无关。1.1. SimpleDateFormat类在格式化和解析日期时间过程中,其子类SimpleDateFormat更为常用。SimpleDateForm原创 2021-01-19 09:23:33 · 472 阅读 · 0 评论 -
java多线程面试题
并行和并发有什么区别?并发:同一时刻多个线程在访问同一个资源,多个线程对一个点例子:小米9今天上午10点,限量抢购春运抢票电商秒杀…并行:多项工作一起执行,之后再汇总,在不同的CPU上执行例子:泡方便面,电水壶烧水,一边撕调料倒入桶中线程和进程的区别?使用QQ,查看进程一定有一个QQ.exe的进程,我可以用qq和A文字聊天,和B视频聊天,给C传文件,给D发一段语言,QQ支持录入信息的搜索。大四的时候写论文,用word写论文,同时用QQ音乐放音乐,同时用QQ聊天,多个进程。wo原创 2021-01-18 18:50:53 · 103 阅读 · 0 评论 -
String类
1. String概述 String类代表字符串,提供了开发中常用的字符串处理的方法,如:求字符串的长度、截取字符串、替换字符串等方法.字符串是常量,它的值创建之后就不可以再修改了。如果字符串反复修改,不推荐使用String类。2. String类常用构造方法String() 无参构造方法String(String str) 有一个字符串参数的构造方法String(char[]ch) 有一个char类型数组参数的构造方法String(byte[] b) 有一个byte数组参数的构造方法注原创 2021-01-18 18:49:03 · 108 阅读 · 0 评论