Java
文章平均质量分 59
.
WKP9418
愿有一天开怀大笑
展开
-
IDEA使用log4j
1.下载IJ到官网即可2.注册Action Code3.下载安装log4j1.2.17版本4.配置新建一个maven.1.之后点击,pox.xml输入 <dependencies> <dependency> <groupId>log4j</groupId> &l...原创 2020-04-30 18:51:15 · 2587 阅读 · 0 评论 -
文件分块上传
讲了理论,接下来写一个简单的demo,可以实现暂停和恢复上传。核心就是分块上传,可以把代码里面的数据都放到数据库里即可。原创 2024-10-08 10:20:30 · 196 阅读 · 0 评论 -
java 反射
总结一下,方便自己查看按照步骤来:获取class对象,然后实例化,然后调用实例化对象的哪一个方法或者得到他的哪一个变量。原创 2024-09-01 16:03:24 · 316 阅读 · 0 评论 -
Java 线程实现暂停、中止
用户可以开启任务,暂停任务和中止任务。用户开启任务后,可以随时暂停或者中止。暂停后又可以回到原进度继续运行。原创 2024-08-31 20:49:36 · 1068 阅读 · 0 评论 -
==和equals的区别以及为什么重写hashcode
equals一般是比较对象的地址,但是具体分析,如integer里面的equal,就是用里面的基本数据类型int的值取比较的。(new Integer这种不生效)这样,生成的两个对象用==就相等了。且两个对象,用equals是相等的,但是hashcode是不相等的。hashcode一样(hash冲突时),euqlas不一定相等,因此,这两个一般需要同时重写。,这和我们的认知相违背。既然这俩对象相等,那么就应该是同一个key。那么会出现:在put时,这两个对象被放到了0和1两个位置,但。原创 2024-07-29 17:59:36 · 241 阅读 · 0 评论 -
java 字符串a+b到底生成几个对象?
字符串常量池保存在堆里面。为了节约空间,如果常量池里面有,就不需要创建对象,只需要返回常量池里面的引用;如果常量池没有,就先创建常量池里面的对象(方便其他地方用到),然后在堆里面在新建一个对象。原创 2024-07-29 17:33:14 · 351 阅读 · 0 评论 -
junit 测试矩阵的幂
一篇菜鸡的记录。目录待测程序分析juni代码两个txt文件的位置缺点待测程序当时的设定是,源程序不可修改。只可以设置。/** 矩阵乘法MatrixMultiply给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如: A = 1 2 3 4 A的2次幂 7 10 15 22输入格式 第一行是一个正整数N、M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数 接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵原创 2021-04-30 21:00:59 · 248 阅读 · 1 评论 -
用户注册+邮箱验证的简单例子
用springboot写的。输入密码和用户名,再输入邮箱。点击发送,发给你验证码,输入正确的验证码。然后数据库自动记录你的用户名和密码。原创 2020-11-06 14:56:22 · 5289 阅读 · 4 评论 -
spring boot +QQmail
文章目录先申请在application.properties配置maven依赖测试先申请会有一个密码需要记住。在application.properties配置spring.mail.host=smtp.qq.comspring.mail.port=587spring.mail.username=你的邮箱@qq.comspring.mail.password=申请时后的密码spring.mail.default-encoding=UTF-8#spring.mail.properties.原创 2020-11-03 23:02:44 · 1004 阅读 · 0 评论 -
spring boot+oracle数据库配置成功
第一次配这个,网上找数据库不是oracle ,实验了2天。那啥,第一次接触,里面的东西几乎不懂。文章目录maven依赖类baseBean类user1类userController类CommonDaoUserDaouserServiceuserServiceImplAppindex.htmlapplication.properties演示maven依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven原创 2020-11-03 17:20:01 · 1739 阅读 · 0 评论 -
java基础学习笔记
Lambda表达式要求接口中只有一个抽象方法。匿名内部类连抽象类都可以的。public class EatableDemo { public static void main(String[] args) { Eatable eatStac = new EatStac();//实现接口 useEatable(eatStac); //匿名内部类(实际工作不推荐使用) useEatable(new Eatable(原创 2020-07-06 17:59:35 · 294 阅读 · 0 评论 -
在一个线程里面调用另一个线程的sleep方法
import static java.lang.Thread.sleep;public class send { static int x; public static void main(String[] agrs) throws InterruptedException { Thread t2 = new Thread(() -> { x=10; }, "t2"); t2.start();原创 2020-06-17 10:03:39 · 1346 阅读 · 0 评论 -
synchronized能不能保证有序性??单例模式下的懒汉和双检锁的思考
肯定能啊。但是:比如单例模式里面的双检锁dcl,为什么还要加volatile禁止指令重排序呢??class Singleton{ private static Singleton instance; private Singleton(){} public static Singleton getInstance(){ if(instance==null){ synchronized (Singleton.class){原创 2020-06-16 21:23:19 · 6330 阅读 · 7 评论 -
复制文件以及异常处理
把D盘,赛场座位安排,这个文件夹复制到E盘。public class Demo1 { public static void main(String[] args) throws IOException { File srcPath = new File("D:\\大作业\\赛场座位安排系统"); File dstPath = new File("E:\\", srcPath.getName()); if(!dstPath.exists()) dst.原创 2020-06-04 18:19:11 · 358 阅读 · 3 评论 -
简单理解重量级锁、轻量级锁、偏向锁
全文使用synchronized来说明。synchronized给对象上锁,先上偏向锁,在上轻量级锁,最后上重量级锁。上什么锁,是gvm根据竞争程度自行变换的。重量级锁计算机操作系统本有Monitor对象,称为管程。在java里面看不到此对象。每个Java对象都可以关联一个monitor对象,如果使用了synchronized给对象上重量级锁后,该对象的Mark word就被设置指向monitor对象的指针。Monitor对象结构WaitSet:是线程等待队列。状态为WAITINGEntr原创 2020-05-17 23:40:07 · 1826 阅读 · 2 评论 -
设计模式——命令模式(Command Pattern)
比如去路边的烧烤摊,没有服务员。那么顾客和老板直接交互,一个是行为请求者,一个是行为实现者,二者紧耦合。但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合的设计就不太合适。就好比老板直接记录每个客户的信息,还要烤肉,老板可能记不得。解决方法:将一组行为抽象为对象,可以实现二者之间的松耦合。就比如将烤羊肉和烤鸡翅命令抽象为对象。那么服务员只管对抽象的命名发号施令即可。package DesignPattern;public class CommandPattern原创 2020-05-15 09:47:08 · 205 阅读 · 0 评论 -
java线程——join
A.join()等待当前线程A运行结束。A.join(millis) 当前线程最多等待A时间millis原理join()调用join(0),即一直等待。当前线程调用之后,会从RUNNABLE到WAITINGpublic final void join() throws InterruptedException { join(0); }join(millis)类似保护性暂停当前线程调用后,会从RUNNABLE到TIMED_WAITINGpublic final原创 2020-05-13 19:06:56 · 163 阅读 · 0 评论 -
java线程-保护性暂停(wait,notify实现)
考虑以下场景需求:A同学计算一个结果resB同学需要等待A同学的结果res需要用到保护性暂停:一个线程等待另外一个线程的执行结果这里我们让A,B同学关联到一个类。B同学一直等待A同学import org.apache.log4j.Logger;public class Demo1 { private static Logger logger = Logger.getLogger(Demo1.class); public static void main(String[]原创 2020-05-11 10:43:03 · 412 阅读 · 0 评论 -
从零开始撸音乐播放器(源码可下载)
哈哈,自己是真的弱。被生活狠狠打脸了。Java课设要搞音乐播放器。然而老师只讲了输入输出啥的,其他自学。从零开始撸代码。1.从sound,到AppletPlayer又到Player。前面两个好像都过时了,不适用。所以选择了Player。这里又分两个类,一个是Javazoom(播放mp3),一个是Javax.media(播放wav)里面的。都需要独立下载插件。javax.media好像还...原创 2019-11-22 14:58:09 · 7799 阅读 · 3 评论 -
wav获取播放时长
:原文链接package music;import java.io.File;import java.io.IOException;import java.io.RandomAccessFile; public class ReadDemo { public static void main(String[] args) throws IOException { Ra...转载 2019-12-29 13:46:01 · 923 阅读 · 0 评论 -
Java线程-线程八锁
synchronized在方法上加锁加在非静态方法上。锁住的是this对象class Test{ public synchronized void test(){} }等价于class Test{ public void test(){ synchronized(this){ } }} 加在静态方法上。锁住的是类对象。class Test{ publ...原创 2020-05-02 20:25:25 · 200 阅读 · 0 评论 -
Java线程-两阶段终止模式(interrupted实现)
最近刚开始学线程。任务使用sleep,interrupt实现import org.apache.log4j.Logger;import static java.lang.Thread.sleep;public class Demo{ public static void main(String[] agrs) throws InterruptedException { ...原创 2020-05-01 10:40:08 · 309 阅读 · 0 评论 -
设计模式——原型模式(Prototype Pattern)
在看《大话设计模式》看到深拷贝和浅拷贝有点不太懂。如果有引用,浅拷贝:原对象和副本引用同一对象。对属性直接拷贝。是引用类型的话,只复制引用,不复制引用的对象。深拷贝:原对象和副本引用的不是同一个对象。浅拷贝:class WorkExperience{ String workDate; String company; public WorkExperience() { }...原创 2020-04-26 15:11:36 · 135 阅读 · 0 评论 -
非常简单的截图小工具
用QQ截图太麻烦。我只是想要截个图,然后图片保持在窗口最前端即可。import Num.AddNum;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.awt.image.*;import java.io.*;public class DrawRectTest { public ...原创 2020-04-25 23:04:03 · 478 阅读 · 0 评论 -
JAVA按钮设置组合快捷键
给按钮添加快捷键。网上搜了搜,不满足自己的需要。用到getActionMap() and getInputMap()需要先了解ActionMap,InputMap,KeyStroke1.keyStroke 用来保存一个快捷键。这里用到的方法getKeyStroke(int keyCode, int modifiers, boolean onKeyRelease)keyCode:字母...原创 2020-04-23 11:36:06 · 1272 阅读 · 0 评论