![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
白速龙王的回眸
一命二运三风水
四积功德五读书
六名七相八敬神
九交贵人十养生
展开
-
20230913java面经整理
20230913java面经整理原创 2023-09-13 13:56:35 · 123 阅读 · 0 评论 -
【java后端开发初体验】
java开发初体验原创 2023-02-21 17:28:35 · 135 阅读 · 0 评论 -
Springboot实现redis缓存信息统计接口
springboot redis统计原创 2023-02-09 10:44:00 · 194 阅读 · 0 评论 -
狂神超市管理系统【1】:初始配置以及数据库设计和pojo
狂神超市管理系统源码分析!原创 2023-01-04 23:27:06 · 276 阅读 · 0 评论 -
java:狂神mybatis的crud常规操作
mybatis的crud操作展示!原创 2023-01-03 15:51:55 · 81 阅读 · 0 评论 -
java:maven项目错误的发行版本5解决方法
maven项目错误的发行版本原创 2023-01-03 14:43:35 · 111 阅读 · 0 评论 -
java:Arrays.stream(nums).sum()返回int!
Arrays.stream(nums).sum返回int原创 2022-12-16 09:07:05 · 194 阅读 · 0 评论 -
狂神javaweb笔记大全
web开发web网页的意思,www.baidu.com静态webhtml、css提供给所有人看的数据始终不会发生变化动态淘宝、几乎是所有网站提供给所有人看的数据始终不会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同!技术栈:Servlet、JSP,ASP,PHP在JAVA中,动态web资源开发的技术统称为JavaWeb超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议文本:html,字符串,。。。原创 2022-09-18 20:52:47 · 312 阅读 · 0 评论 -
【工欲善其事必先利其器】StringBuilder大宝剑
【代码】【工欲善其事必先利其器】StringBuilder大宝剑。原创 2022-08-31 11:19:06 · 113 阅读 · 0 评论 -
【工欲善其事必先利其器】java String大宝剑
【工欲善其事必先利其器】java String大宝剑。原创 2022-08-31 10:51:18 · 164 阅读 · 0 评论 -
idea输出中文乱码解决方案
setting和project Structure要经常看。原创 2022-08-31 10:43:09 · 252 阅读 · 0 评论 -
【java并发】线程组ThreadGroup
前言这是中国大学慕课上陈良育老师的java核心技术进阶关于并发框架Executor框架的整理总结传送门并行计算的特点业务:原创 2022-04-18 19:27:42 · 210 阅读 · 0 评论 -
【java初级】一个完整的抽象类、接口、重写、构造方法、this实例
前言这是LeanrJ的练习传送门UML图(需求)抽象类Animalpackage myAnimal;public abstract class Animal { protected int legs; protected Animal(int legs) { this.legs = legs; } abstract public void eat(); public void walk() { System.out.printf("该动物用%d只脚行走\n",原创 2022-04-18 16:51:13 · 278 阅读 · 0 评论 -
【Spring】构造器注入 和 属性注入的实例
HelloDao(简单的数据操纵类)/** * @Title: HelloDao.java * @Package cn.osxm.ssmi.chp03 * @Description: TODO * @author osxm:oscarxueming * @date 2019年2月25日 下午8:22:39 * @version V1.0 */package cn.osxm.ssmi.chp03;/** * @ClassName: HelloDao * @Description:原创 2022-04-13 21:17:33 · 712 阅读 · 0 评论 -
【java并发练习】用6个线程求和(保证每个线程求和次数之差最大不超过1)
分析需要共享一些变量,当前的求和位置,目前的累计和,和完成求和的线程个数每个线程有一个自己的编号,当flag % 6 == index就可以进行一次求和,并输出信息,否则则skip这样保证了他们每个线程求和数都是几乎一样的最后main线程需要等待所有的thread退出,通过exitNum来判断是否满足6个,最后退出前输出求和信息codepackage calculate;public class getSum { public static void main(String []ar.原创 2022-04-13 17:05:46 · 639 阅读 · 0 评论 -
【java并发探赜索隐】判断标志、死锁、守护进程
【判断标志】1.通过interrupted判断,会抛出异常2.通过volatile判断,更推荐package interrupt;public class InterruptTest { public static void main(String[] args) throws InterruptedException { TestThread1 t1 = new TestThread1(); TestThread2 t2 = new TestThread2(); t1.star原创 2022-04-12 19:41:26 · 194 阅读 · 0 评论 -
【java类】关于静态覆盖和非静态重写
核心父类引用指向子类对象:静态方法, 引用是啥类型就输出啥类的方法;非静态方法, 对象是啥类型就输出啥类型的方法;例子父类子类主函数总结当引用是父类,对象是子类静态方法用的是父类的,非静态用的是子类的...原创 2022-04-12 16:29:56 · 148 阅读 · 0 评论 -
【java并发经典】生产者消费者问题(wait,notify)
前言我们都知道生产者消费者问题有若干个生产者和消费者以及一个仓库仓库里面容量一定,有以下几条规则:1.生产者往仓库放东西,消费者往仓库消费东西2.仓库满的时候,生产者无法放东西3.仓库空的时候,消费者无法取东西测试类1.先构建一个仓库以供所有的生产者和消费者使用2.把这个仓库作为构造函数的参数传给不同的生产者和消费者,让他们统一仓库3.对不同的生产者和消费者赋予不同的名字,作为区分4.先启动生产者的生产进程,睡一秒后,拉起两个消费者的消费进程package product;/**原创 2022-04-11 16:51:14 · 516 阅读 · 0 评论 -
【单例模式】饿汉和懒汉
什么是单例模式1.构造方法私有化2.静态属性指向实例3.public static的getInstance方法,返回第二部的静态属性饿汉饿汉是立即加载的方式,无论是否用到这个对象都会加载package charactor; public class GiantDragon { //私有化构造方法使得该类无法在外部通过new 进行实例化 private GiantDragon(){ } //准备一个类属性,指向一个实例化对象。 因为是原创 2022-04-08 21:02:09 · 95 阅读 · 0 评论 -
【java并发】以四窗口售票为例,线程互斥、同步、共享、加锁,缓存模型【问题与改进】
java线程的缓存与主存多线程信息共享问题1.工作缓存副本2.关键步骤缺乏加锁限制修改数据(如i++),非原子性操作:1.读取主存i(正本)到cache(副本)中2.每个cpu执行(副本) i + 1操作3.cpu将结果写入到cache(副本)中4.数据从工作缓存(副本)刷到主存(正本)中情景四个窗口一共卖100涨票利用static类静态变量来共享变量(只有一个)public class ThreadDemo0{ public static void main(String原创 2022-04-08 15:23:13 · 586 阅读 · 0 评论 -
【java并发】并发初识
通过继承thread的run方法 + start来构造线程public class Thread1 extends Thread{ // 重写run方法 public void run() { System.out.println("hello"); } public static void main(String[] a) { // 通过继承thread的方式来生成thread // 直接new一个子类 + start就可以了 new Thread1().start();原创 2022-04-08 14:20:27 · 306 阅读 · 0 评论 -
【java初级】操作符、类、对象
【赋值操作符】int i = 1;i+=++i;分析:i = i + (++i) 也就是i = 1 + 2 = 3【scanner】nextInt() nextFloat() nextLine()注意读了int再stirng要两次nextLine 第一次是换行(和cpp getline一个道理)【方法重载】可变数量的参数写法【构造方法】方法名和类名一样,没有返回类型,实例化的时候一定会调用如果不写,就会默认提供一个无参的构造方法如果写了有参的构造方法,默认的无参构造就会失效【th原创 2022-04-02 14:41:22 · 381 阅读 · 0 评论 -
【java基础易错】算术、关系、逻辑、位操作符总结
【i++和++i】2 + 2 + 4 + 5 + 5 = 18注意:第三个是因为第二个之后变成了3,然后再++i变成了4【长路&和短路&&】&&短路前面满足就不计算了&长路都计算【优先级 ! > ^ > &&】第一个是F 第二个是T,取异或之后就是T因此&&前面是T,就会短路返回b是True,而后面的i++不再执行所以b是true,i是3【Integer.toBinaryString】转成二原创 2022-03-31 17:01:15 · 557 阅读 · 0 评论 -
【java多线程】一些规则,继承thread和实现runnable比较
【一些规则】start方法启动,会自动以新进程调用run方法直接调用run方法,将变成串行执行同一个线程,多次start会报错,只执行第一次start方法多个线程启动,其启动的先后顺序时随机的线程无需关闭,只要run方法执行结束后,自动关闭main函数(主线程)可能早于新线程结束,整个程序并不终止整个程序终止是所有线程都终止【thread和runnable比较】Thread占据了父类的名额,不如runnable方便(可以继承其他)thread类实现runnablerunnable启动的原创 2022-03-30 23:33:35 · 375 阅读 · 0 评论 -
【java多线程】 as a starter
前言开始学一波java多线程和并发编程demopublic class ThreadDemo1{ public static void main(String args[]) throws Exception { // 进入thread1执行 new TestThread1().start(); // 不用上句执行完毕,直接跳入死循环 while(true) { System.out.println("main thread is running"); Thr原创 2022-03-29 23:28:27 · 550 阅读 · 0 评论 -
【Servlet】获取post并打印出来
需求制作一个表单,获取用户名、密码和兴趣爱好然后把这个表单丢给servlet处理,让servlet获取其中的属性值form.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Complete A Form</title></head><body> <form action="原创 2022-03-29 17:36:48 · 1455 阅读 · 0 评论 -
【java易错总结】
【关于子类对象和父类对象的转换】子-》父 yes父-》子 no子-》父-》子 yes【catch要从小到大放】上图从大到小会error in compilation【一些判断】A.final必须实现,不可能abstractB.procted方法可以被X任意子类重写(没说用final)procted同包 + 子类C.static只能调用static,但是非static也能调用static(我猜的)D.标志了final不可能被重写【一道题】为啥会编译失败呢?感觉会catch然后输出原创 2022-03-27 12:48:20 · 875 阅读 · 0 评论 -
【java基础鉴别】 类和String
java的形参为数组是地址传递 会保持更改public class mytest { public static void change(int[] nums) { nums[0] = 1; } public static void main(String[] args) { int[] a = {0, 0, 0}; System.out.println(a[0]); change(a); Syste原创 2022-03-07 23:02:40 · 201 阅读 · 0 评论 -
leetcode:剑指51 逆序对 (归并排序)
思路:1.使用copy和tmp来复制和记录2.left right和mid分成【left, mid】和【mid + 1, right】继续分治,然后mergeandcount记录两个相邻有序子列的逆序对3.mergeandcount两个相邻有序列合并,k个位置双指针i和j依次往后,统计后面列形成的逆序对为mid + 1 - i4.剪枝,若两个子列依次有序就不用mergeandcountac代码:class Solution { // java的数组是地址传递 // 逆序数组用归.原创 2022-03-07 22:30:09 · 327 阅读 · 0 评论 -
idea导入外部gradle + spring项目并启动运行
需求最近在学spring实战,第一个项目knight就是一个gradle项目,我想把它跑起来但里面有main和test之前也没试过这该如何弄,查到网上说这是一个gradle项目第一步:gradle build首先,我们第一步先把这个gradle build起来他会根据wrapper中的配置下载maven并下载注意,如果c盘过载的小伙伴要改变环境变量否则,系统会直接下载到c盘的.gradle文件夹下第二步:系统变量的更改把这个全局变量修改一下 到自己想放的文件夹下然后开始buildb原创 2022-03-07 16:58:36 · 2389 阅读 · 0 评论 -
java常量池:八种基本类型+string,自动装拆箱
public class BoxClassTest { public static void main(String[] args) { int i1 = 10; Integer i2 = 10; // 自动装箱 System.out.println(i1 == i2); //true // 自动拆箱 基本类型和包装类进行比较,包装类自动拆箱 Integer i3 = new Integer(10); System.out.printl.原创 2022-02-04 17:41:43 · 583 阅读 · 0 评论 -
java继承:父类对象可以被子类赋值,反之不行哦
直接看例子、注释和输出吧class A { public void func1() { System.out.println("A func1 is calling"); } public void func2() { func1(); }}class B extends A { public void func1() { System.out.println("B func1 is calling");原创 2022-01-25 11:36:03 · 2667 阅读 · 0 评论 -
FingerPrint:go转java源码解析
需求:对数据库做一个哈希压缩吧,用数字指纹看看go源码:package mainimport ( "fmt")type Label struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Value string `protobuf:"bytes,2,opt,name=value,proto3" json原创 2022-01-25 11:20:17 · 1436 阅读 · 0 评论 -
java继承之顺序与构造super
java继承顺序:1.父static(变量or语句)2.子static(变量or语句)3.父普通(变量or语句)4.父构造5.子普通(变量or语句)6.子构造java构造继承:1.如果父类有默认构造函数or无参构造,子类构造可省略super2.若父类自定义构造,子类不可省略super举个栗子:// extend testclass Ca { int num = 1; static { System.out.println("I am in Ca 静态原创 2022-01-25 11:15:34 · 327 阅读 · 0 评论 -
java-一道bfs的变种(迷宫+钥匙门+水陆)
先看看题目:代码:import java.util.*;public class MySolution { public static void main(String[] args) { // 输入测试样例 char[][] board = {{'0', '2', '1', '1', '1'}, {'0', '1', '0', '0', '1'}, {'原创 2022-01-08 11:25:04 · 179 阅读 · 0 评论 -
java:通过StringJoiner将中间的东西连起来
import java.util.*;public class mytest { public static void main(String[] args) { //System.out.printf(String.valueOf(1).concat(String.valueOf(9))); StringJoiner joiner = new StringJoiner("-"); for(int i = 0; i < 10; i++) {原创 2022-01-05 17:51:00 · 233 阅读 · 0 评论 -
java:jdbc连mysql几个坑点
版本坑点:下载与mysql对应版本的jar包查看mysql版本:设置默认的连接参数: String url="jdbc:mysql://localhost:3306/javatest?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&failOverReadOnly=false&useSSL=false&serverTimezone=UTC";就是问号后面的那一陀,主要是TimeZon原创 2021-12-19 14:27:31 · 857 阅读 · 0 评论 -
java网络编程:udp信息交流
两个主要的类:1.DatagramSocket() 相当于一个码头的位置2.DatagramPacket()相当于一个集装箱实验流程1.定义一个udprecv类和udpsend类2.udprecv类先绑定3000端口,然后等待send发信息(会阻塞)3.udpsend向udprecv发信息4.udprecv接受到信息并获得udpsend的端口5.udprecv向udpsend再发一条信息udprecv:import java.net.*;public class UdpRecv{原创 2021-11-18 00:04:49 · 329 阅读 · 0 评论 -
java:给你的她特制一个二维码
上面就是一张通过java生成的二维码,主要用到的是google的zxing包java代码:package zxing;import com.google.zxing.*;import com.google.zxing.client.j2se.BufferedImageLuminanceSource;import com.google.zxing.client.j2se.MatrixToImageWriter;import com.google.zxing.common.BitMatrix;.原创 2021-11-12 10:35:17 · 237 阅读 · 0 评论 -
java:xml文件的解析
xml文件:为了更好地描述数据,我们采用xml的内容+数据的描述形式,这便于更直观地读懂数据及其表达的内容xml解析方法:DOM方法:比较麻烦的一个方法,需要不停地用for遍历子树,然后输出结果:例如看user.xml它地读取就是逐层地(或者逐行地根据名称)解析,逐层的异常繁琐,可以看看源码:package xml.dom;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilder原创 2021-11-07 22:26:35 · 442 阅读 · 3 评论