
Java
文章平均质量分 54
山东馍馍
便宜、听话、能加班~
展开
-
MacOS安装多版本 JDK 及快速切换
一、JDK下载地址,Mac分为两种芯片0、如何判断自己的MacBook芯片?Mac computers with Apple silicon - Apple SupportMac computers with Apple silicon:Mac Studio (2022) MacBook Pro (14-inch, 2021) MacBook Pro (16-inch, 2021) iMac (24-inch, M1, 2021) Mac mini (M1, 2020) MacBo原创 2022-04-10 16:50:04 · 3832 阅读 · 0 评论 -
轻量级分布式事务-自定义多数据源事务注解
一、背景对于一个方法内,同时操作多个、或者多种类型的数据源时,比如一个MySQL、一个MongoDB,或者两个不同的MySQL,事务管理器只能唯一的场景使用声明式的注解@Transactional 无法保证多个数据源回滚,只能保证单一数据源@Primary回滚,使用编程式的方式去回滚事务,代码侵入太多,使用复杂度高。所以需要自定义注解,实现对多个数据源的管理二、实现过程1、自定义注解@MultiDataSourceTransactional/** * @author 菜粥 * @Desc原创 2022-03-19 21:29:42 · 2200 阅读 · 0 评论 -
Java Bean Copy工具对比评测
一、背景在平时的Java开发过程中,经常会Copy 对象,如果用Setter去一个一个属性的复制,会产生很多业务无关的冗余代码(但是执行效率最高),所以在这里选择Bean Copy工具,提高开发效率:二、测试过程Copy 1000w条数据,输出的执行时间 单位是毫秒原生cglib beanCopier.copy(from, to, null);private static BeanCopier beanCopier = BeanCopier.create(User.class, User.c原创 2021-10-07 20:24:25 · 634 阅读 · 0 评论 -
ArrayList源码解析
文章目录实现的接口RandomAccessCloneablejava.io.Serializable成员变量构造函数clone方法get方法set方法add方法:此处会产生扩容扩容机制 grow(minCapacity);remove方法clear方法addAll方法迭代器其他方法实现的接口本文基于Oracle JDK1.8展开讨论ArrayList位于java.util包下ArrayL...原创 2020-04-24 22:48:46 · 332 阅读 · 0 评论 -
JVM内存结构
Oracle官方文档JVM体系结构JVM内存结构程序计数器保存当前执行指令的地址,一旦指令执行,程序计数器将更新到下一条指令虚拟机栈每个线程运行时所需要的内存空间,称为虚拟机栈每个栈由多个栈帧组成,对应着每次方法调用时所占用的内存每个线程只能有一个活动栈帧,对应着当前正在执行的那个方法...原创 2020-04-19 21:06:14 · 194 阅读 · 0 评论 -
Java并发编程-线程有关概念
线程安全不可变的对象一定是线程安全的,如:final修饰的不可变类:String,Integerenum 枚举类// 编译javac xxx.java//反编译jad xxx.class同步阻塞式调用,调用方必须等待响应方执行完毕才会返回同步使用场景:1、大多数非异步场景(不用异步,就用同步来调用) 如:百度搜索,客户端同步调用服务端搜索接口,等待服务端实时...原创 2020-03-11 15:11:03 · 169 阅读 · 0 评论 -
Windows Server后台运行Jar包
1. 前提条件Windows Server内JDK,MySQL等Jar包需要的环境配置正确,不然会各种报错2. 创建txt文件,修改文件名为start.bat,内容如下:@echo offtitle 正在启动Admincolor 0Astart javaw -jar admin.jarecho .echo ----后台管理系统-启动成功----pauseexit...原创 2019-12-11 12:29:15 · 4021 阅读 · 0 评论 -
腾讯天气接口
腾讯天气官方网站城市接口天气接口官方网站https://tianqi.qq.com/城市接口https://wis.qq.com/city/like参数名称含义source请求类型: pc/wxcity城市名:深圳实例:https://wis.qq.com/city/like?source=pc&city=深圳{ "data":{...原创 2019-12-08 16:43:26 · 17715 阅读 · 6 评论 -
Java -jar Linux环境下后台运行JAR包
命令nohup java -jar AppName.jar > camelia-log.file 2>&1 &含义java -jar AppName.jar > camelia-log.file将运行的jar错误日志信息输出到camelia-log.file文件中>&1 就是继续输出到标准输出(前面加的&,是为了让系统识别是...原创 2019-12-02 21:09:12 · 515 阅读 · 1 评论 -
Oracle软件下载账号密码共享
来源微信公众号:Java3Y原文地址账号:liwei@xiaostudy.com密码:OracleTest1234转载 2019-10-28 21:29:34 · 3576 阅读 · 1 评论 -
Java-使用命令行打包Jar
打包JARjar --create --file jar文件名 -C 要包含的文件夹内容 --main-class Main类名--create 表示建立jar--file 指定了jar文件名-C 要包含的文件夹内容--main-class 指定main方法所在的类如果打包时没有指定主类 则运行时可以指定主类java -cp xxx.jar com.leo.Main如果...原创 2019-08-26 11:47:46 · 2091 阅读 · 0 评论 -
正则表达式
Github学习地址:https://github.com/ziishaned/learn-regex/blob/master/translations/README-cn.md正则在线练习:https://regex101.com/原创 2019-08-12 08:45:28 · 224 阅读 · 0 评论 -
Java学习笔记-第十五章-通用API
一、日志二、国际化三、正则表达式四、处理数字原创 2019-08-05 17:26:16 · 262 阅读 · 0 评论 -
Java学习笔记-第十四章-NIO与NIO2
目录一、NIO二、NIO21. NIO2架构2. 操作路径3. 未完待续一、NIO/** * 原始的dump * * @param inputStream * @param outputStream */ public static void dump(InputStream inputStream, OutputStream outp...原创 2019-08-03 10:26:59 · 896 阅读 · 0 评论 -
Java学习笔记-第十三章-时间与日期
1-时间轴上瞬间的Datepublic static void main(String[] args) { long currentTimeMillis = System.currentTimeMillis(); Date d1 = new Date(currentTimeMillis); Date d2 = new Date(); ...原创 2019-07-30 10:42:37 · 173 阅读 · 0 评论 -
阿里巴巴EasyExcel简单使用教程
首先在pom.xml里添加依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>1.1.2-beat1</version&...原创 2019-07-30 09:42:49 · 3995 阅读 · 0 评论 -
Java学习笔记-第十二章-Lambda
使用Lambda来简化匿名内部类的使用 //现在有一个需求,按照长度排序字符串 String[] names = {"Leoo", "Leo", "Leooo"}; System.out.println("未排序之前:"); for (String name : names) { System.out.p...原创 2019-07-11 10:27:24 · 238 阅读 · 0 评论 -
Java学习笔记-第十一章-线程与并行API
要让目前流程暂停指定时间,可以使用java.lang.Thread的静态sleep()方法,指定的单位是毫秒,调用这个方法必须处理java.lang.InterruptedException这一章以后在整理,,,...原创 2019-07-10 17:19:22 · 169 阅读 · 0 评论 -
神级代码注释
更多:http://www.asciiworld.com//*** * 瓦瓦 十 * 十齱龠己 亅瓦車己 * 乙龍龠毋日丶 丶乙己毋毋丶 * ...原创 2019-05-22 16:19:34 · 1445 阅读 · 1 评论 -
DOM4J解析XML
被解析的XML文件<?xml version="1.0" encoding="UTF-8"?><resp> <city>北京</city> <updatetime>19:32</updatetime> <wendu>18</wendu> <fengli>&...原创 2019-05-07 22:32:03 · 185 阅读 · 0 评论 -
Java-最全学习路线图
原创 2019-05-03 16:55:53 · 2002 阅读 · 0 评论 -
Java-wait()与notify()
这里运用产品-店员-消费者的例子来说明这两个函数原创 2019-05-03 08:35:57 · 142 阅读 · 0 评论 -
Java-线程的简单使用
这里模拟一下龟兔赛跑问题,首先给出的是乌龟和兔子类,里面含有run方法。乌龟/** * @ClassName: Tortoise * @Author: Leo * @Description: * @Date: 2019/5/2 21:42 */public class Tortoise implements Runnable { private int totalStep;...原创 2019-05-02 22:33:17 · 128 阅读 · 0 评论 -
Bilibili教育资源汇总
01,《Java编程学习第一季》:av3555629902,《Java编程学习第二季》:av3731678803,《Java编程学习第三季》:av3731755104,《Java编程学习第四季》:av3830844905,《JDBC编程和MySQL数据库》:av3732571206,《Web前端第一季(HTML)》:av3587525707,《Web前端第三季(JavaScript)》...原创 2019-05-02 16:05:08 · 3267 阅读 · 0 评论 -
JSoup的简单使用
要解析的网页地址:http://202.194.143.19/asord/asord_hist.php?page=1要解析的网页表格,一共86页URL后面的page参数代表了一共多少页,这里采取手动输入的方式,目前共86页并且解析完成后,存入数据库数据表对应的实体类package com.leo;import java.util.Date;public class Boo...原创 2019-04-27 10:18:15 · 853 阅读 · 0 评论 -
Java学习笔记-第十章-输入/输出
读取/写入如果要将数据从来源读取,可以使用输入串流:java.io.InputStream如果要将数据写入目的地,可以使用输出串流:java.io.OutputStream这两个类都操作了java.io.Closeable接口,其父接口为java.io.AutoCloseable,所以可以使用JDK7的自动关闭语法文件流FileInputStream FileOutputStrea...原创 2019-04-27 09:33:16 · 313 阅读 · 0 评论 -
Java学习笔记-第九章-Collection与Map
收集对象的行为定义java.util.Collection add() remove()等方法都是定义在此接口java.util.Iterable 定义的方法iterator() 返回的是java.util.Iterator 对象,用于取得对象判断对象是否相同要同时重写hashCode() equals()对象排序要么让该对象继承Comparable,要么指定比较器Compara...原创 2019-04-25 16:44:28 · 227 阅读 · 0 评论 -
Java学习笔记-第八章-异常处理
1.异常类的继承关系//定义了取得错误信息,堆栈追踪等方法java.lang.Throwable//有两个子类java.lang.Errorjava.lang.Exception2.Error对象、RuntimeException对象Error以及其子类代表严重的系统错误,例如硬件层面错误,内存不足等,不建议使用try catch捕捉,因为没有能力处理这些错误。3.受检查异常,...原创 2019-04-20 20:17:08 · 1022 阅读 · 0 评论 -
Java学习笔记-第七章-接口与多态
接口继承会有“是一种”的关系,接口则是定义行为,但不会有是一种的关系。接口多态判断“右边是不是拥有左边的行为” || “右边对象是不是操作了左边的接口”类不可以多继承 接口可以多继承public interface Interface1 { void getResult_1();}public interface Interface2 { void getResult_2(...原创 2019-04-14 20:15:32 · 211 阅读 · 0 评论 -
Java学习笔记-第六章-继承与多态
多态与is-a父类与子类之间的关系是is-a的关系,比如学生类,其子类为小学生类,那么就应该这么说:小学生是一种学生。抽象类抽象类可以抽象出共有的方法,这与设计模式中的模板方法模式是相对应的。ToString//打印一个对象的信息 以下两种方式是一样的System.out.print(student.toString);System.out.print(student);f...原创 2019-04-12 19:49:53 · 234 阅读 · 0 评论 -
Java学习笔记-第五章-对象封装
封装构造函数实现对象初始化流程的封装方法封装了操作对象的流程封装的目的就是隐藏对象细节,将对象当作黑箱操作重载方法的处理顺序还没有装箱动作前可符合自变量个数与类型的方法装箱动作后可符合自变量个数与类型的方法尝试有不定长度自变量并可符合自变量类型的方法找不到合适的方法,编译错误this关键字this()代表调用另一个构造函数,至于调用的哪个构造函数,视具体给定的自变量类型...原创 2019-04-12 10:46:15 · 234 阅读 · 0 评论 -
Java学习笔记-第四章-认识对象
类类是对象的设计图,对象是类的实例高精度数字Java遵循IEEE 754标准,如果要求运算精度,请使用java.math.BigDecimal装箱JavaSE 5 后,Java会自动装箱和拆箱,不推荐使用new创建基本数据类型数组数组也是对象字符串字符串的本质是打包字符数组的对象字符串重点以""包括的字符串,只要内容相同(序列,大小写相同),无论在代码中出现多少次,...原创 2019-04-12 09:59:32 · 204 阅读 · 0 评论 -
Java学习笔记-第三章-基础语法
基本数据类型整数short 2字节int 4字节long 8 字节字节 1字节浮点数float 4字节double 8字节字符与布尔编码Java采用Unicode 8.0编码JVM采用UTF-16 BigEndian编写整数或者浮点数可以加下划线double PI = 3.14_15_926switch可用于比较整数、字符串、字符和Enum...原创 2019-04-12 09:30:27 · 236 阅读 · 0 评论 -
Java学习笔记-第二章-从JDK到JRE
Java文件要求拓展名是.java主文件名与类名必须相同注意每个字母大小写空格只能是半角空格或者Tab字符一个.java文件可以有多个类,但是只能有一个Public类PATH当输入一个指令而没有指定路径信息时,操作系统会按照PATH环境变量中设定的路径顺序, 依次寻找各路径下是否有这个命令。若系统中安装有两个以上的JDK,则会按照path路径设定的顺序, 决定使用哪个JD...原创 2019-04-12 09:20:55 · 227 阅读 · 0 评论 -
Java学习笔记-第一章-Java平台概论
1995年Sun正式把Oak改名为Java2006年从J2SE改名为Java SE,并且开放了源代码2010年Oracle收购SunJDK包括Java程序语言和JRE,JRE包括Java SE API 和 JVMJCP是一个国际组织,任何单位想要提交Java新特性,都要以JSR文件的形式提交Java把原始码编译为位码,这种码不依赖于平台,而是JVM的可执行文件,只依赖于JVMJDK本身...原创 2019-04-12 08:56:01 · 214 阅读 · 0 评论 -
Log4J 2.XX详细教程【非常详细,一步到位】
Log4J 2.11.2是Log4J的升级版 Log4J 官方网站 Log4J 1.xx教程1.首先添加Mavn依赖,没有使用Maven的请去下载对应的jar包导入<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-ap...原创 2019-04-09 20:36:08 · 3228 阅读 · 2 评论 -
Java反射(3)类属性、方法的获取及调用
运行截图:import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;/** * 通过反射获取类的成员变量 */public ...原创 2019-03-22 20:19:18 · 378 阅读 · 0 评论 -
Java反射(2)对象方法及参数的获取
首先创建一个工具类,里面包含两个字段,以及封装好的静态工具方法,通过调用这个静态方法,可以获取传入对象的方法信息,打印在控制台。运行效果:import java.lang.reflect.Method;public class ClassUtil { private int id; private String name; public Class...原创 2019-03-22 16:42:50 · 1480 阅读 · 0 评论 -
Java反射(1)Class类对象的获取
public class Main { public static void main(String[] args) { Student student = new Student(); //获取class对象的三种方式 Class a1 = Student.class; Class a2 = student.getClass(); try { //写完整包名 且...原创 2019-03-20 19:50:25 · 229 阅读 · 0 评论 -
JetBrainsIDEA 【2019.11.27有效】
2019.11.27有效:https://localhost.blog.youkuaiyun.com/article/details/103059095IDEA最新版下载地址:https://www.jetbrains.com/idea/download/download-thanks.html?platform=windows原创 2019-11-27 19:19:52 · 37795 阅读 · 14 评论