程序代码
低级小猿
这个作者很懒,什么都没留下…
展开
-
今天给大家介绍一道人人都应该会的算法题
介绍:算法与我同在,小伙伴在成长的路上不要放弃刷算法的好习惯,尤其是对正在找工作找实习的小伙伴,算法不仅是我们面试的加分项在工作中处理业务逻辑也用处多多,尽管已经找到实习的我仍然不放弃刷算法的习惯,大家也肯定和我一样。废话不多说,来来今天小杨给你们分享的算法题。leetCode链接:https://leetcode.cn/problems/squares-of-a-sorted-array/solution/1.题目:给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数原创 2022-10-27 22:51:39 · 119 阅读 · 0 评论 -
了解一下Spring的整体架构
1.3 Context模块构建于Core和Bean模块之上,该模块继承了Bean特性,为Spring核心提供了大量扩展,添加了对国际化、事件传播,资源加载和对Context的透明创建的支持。3.1 Web-servlet模块web.servlet.jar:该模块包含Spring的MVC实现,Spring的mvc框架使得模型范文内的代码和webForms之间能够清楚的分离开来,并与Spring框架的其他特性集成在一起。Core 和 bean 模块是框架的基础部分,提供ioc和依赖注入特性(DI)。原创 2022-10-09 21:46:53 · 271 阅读 · 0 评论 -
四个粉丝,最近在实习java开发,博客很少更新,有什么想问的可以私聊我。
原创 2022-08-16 08:28:40 · 90 阅读 · 0 评论 -
微信支付消息推送Websocket服务器的创建
1. 引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> <version>2.6.6</version>原创 2022-05-25 16:48:51 · 191 阅读 · 0 评论 -
接入微信支付伪代码(Springboot实现)
1. 导入第三方依赖<dependency> <groupId>com.github.wxpay</groupId> <artifactId>wxpay-sdk</artifactId> <version>0.0.3</version></dependency>2。 这里 需要 AppId 商户号 商户密钥1. 我们这里创建一个微信配置类来实现WxPayConfig这个接口原创 2022-05-23 21:18:28 · 1047 阅读 · 0 评论 -
swagger 的常用注解
分别对@Api(value = "用户登录和注册",tags = "用户管理")控制类 @ApiOperation ("用户登录接口")接口 和@ApiImplicitParams ({ @ApiImplicitParam(dataType = "String", name = "username", value = "用户登录账号", required = true), @ApiImplicitParam( da..原创 2022-04-14 20:00:43 · 200 阅读 · 0 评论 -
如在在springboot中搭建热部署
第一步: 在文件->设置->构建->找到自动构建项目第二步: 同时按下 ctrl+shift+alt+/ 在显示的页面中,选择注册表选项第三步 引入热部署依赖原创 2022-04-09 15:03:01 · 442 阅读 · 0 评论 -
线程十六——死锁的问题
注意:两个对象 镜子和口红 注意看makeup方法 两种选择分别将拿到的每一种对象的锁进行加锁,不然会产生死锁,如果将chioc==0分支里的两种选择就放在一个同步锁里那么就会产生死锁。死锁:: 多个线程互相抱着对方需要的资源,然后形成僵持,这样就形成了死锁package com.yyf.ThreadStatus;import sun.rmi.runtime.NewThreadAction;import java.util.Map;// 死锁: 多个线程互相抱着 对象需要的资源,然.原创 2022-04-03 14:06:17 · 218 阅读 · 0 评论 -
线程十五——测试线程停止
注意:线程停止不建议使用死循环,使用有次数的循环,建议使用一个标志位,不要使用stop或者destory这些过时的方法 这里的stop方法是我们自定义的stop方法,利用标志位将循环停止package com.yyf.ThreadStatus;// 测试线程停止//1. 建议线程正常停止--》 利用次数,不建议死循环//2. 建议使用标志位--》 设置一个标志位//3, 不要使用stop destory 等过时的方法 public class TestThreadStop impl..原创 2022-04-03 14:01:06 · 291 阅读 · 0 评论 -
线程十四—— 线程礼让
注意:当A线程正在执行的时候 类Thread执行了Yield方法让B线程去执行。 这就是线程礼让package com.yyf.ThreadSleep;// 礼让线程 : 让当前正在执行的线程暂停,但不阻塞// 将 线程 从运行状态转为就绪状态// 礼让不一定成功 ,看cpu 心情public class TestYield { public static void main(String[] args) { MyYield y = new MyYield (原创 2022-04-03 13:57:22 · 354 阅读 · 0 评论 -
线程十三—— 线程优先级权重的设置
注意 这里创建了五个线程 t1 t2 t3 t4t5 五个线程 分别为每个线程设置优先级MAX_PRIORITY 最大优先级 十级 默认为五级 优先级 MIN_PRIORITY 最小优先级 一级package com.yyf.ThreadSleep;// 设置线程优先级public class TestPriority{ public static void main(String[] args) { System.out.println (T...原创 2022-04-03 13:53:18 · 722 阅读 · 0 评论 -
线程十二—— 线程守护
注意 : 上帝 守护你三万天 利用setDaemon方法将上帝线程设置为守护线程 当you线程死亡后 上帝线程一致守护着你。。。。package com.yyf.ThreadSleep;// 线程守护public class TestDaemon { public static void main(String[] args) { God god = new God (); You you = new You (); Thread t.原创 2022-04-03 13:50:11 · 280 阅读 · 0 评论 -
线程十一——观察线程的状态
注意: 这里用到lambda表达式,如有不懂的内容章节有介绍的。该程序功能观察了线程从 新建 - 就绪-- 等待---运行---到消亡的几种状态的观察package com.yyf.ThreadSleep;// 测试线程的状态public class TestState{ public static void main(String[] args) throws InterruptedException { Thread thread = new Thread .原创 2022-04-03 13:47:00 · 90 阅读 · 0 评论 -
线程十一——模拟当前系统时间倒计时
注意: 这里用到SimpleDateFormat类对时间进行格式化package com.yyf.ThreadSleep;import java.text.SimpleDateFormat;import java.util.Date;// 模拟倒计时public class TestSleep3{ public static void main(String[] args) { // 模拟打印系统当前时间 Date startTime = new Dat原创 2022-04-03 13:43:03 · 367 阅读 · 0 评论 -
线程十—— 线程模拟倒计时
注意:简单来说就是利用了sleep睡眠的方法进行了倒计时package com.yyf.ThreadSleep;// 模拟倒计时public class TestSleep2 implements Runnable{ public static void main(String[] args) { TestSleep2 s = new TestSleep2 (); new Thread(s).start (); } @Override原创 2022-04-03 13:40:46 · 403 阅读 · 0 评论 -
线程九—— 模拟延时 放大问题的发生性
注意: 这里模拟了三个线程同时抢票的问题,很明显这种线程是不安全的,因为有为会抢到0和-1的票,所以我们就需要解决问题的发生性,请关注下章节的内容。。。。package com.yyf.ThreadSleep;// 模拟延时 : 放大问题的发生性public class TestSleep implements Runnable{ int ticketNum=10; @Override public void run() {原创 2022-04-03 13:37:26 · 146 阅读 · 0 评论 -
线程八—— 线程插队 join()
注意: 此代码功能是实现testjoin的插队,当主线程main 执行到200的时候就暂停 testjoin线程插队执行,直到testjoin执行完,main线程才能继续执行。package com.yyf.ThreadSleep;public class TestJoin implements Runnable{ @Override public void run() { for (int i = 0; i < 500; i++) { .原创 2022-04-03 13:31:49 · 205 阅读 · 0 评论 -
线程七—— 静态代码模式
1. 这里是静态代理 实现模拟了结婚。package com.yyf.Thread.demo1;public class StaticProxy { public static void main(String[] args) { You you = new You (); // 用线程的方式 new Thread (()-> System.out.println ("我爱你")).start (); new Weddi原创 2022-03-29 17:17:20 · 198 阅读 · 0 评论 -
线程六 —— 线程的创建方式之一 实现callable接口
简单 描述: 线程类实现Callable<类型> 接口 这里的类型跟 重写call方法的返回值类型是一样的大家注意下。执行线程的四个步骤:1. 创建一个服务ExecutorsService ser=Executors.newFixedThreadPool(3);2. 提交执行 这里的类型就是上面的类型Future<类型> r1= ser.submit( 线程对象);Future<类型> r2= ser.submit( 线程对象);Fu.原创 2022-03-29 16:54:40 · 98 阅读 · 0 评论 -
线程五—— 线程模拟龟兔赛跑
注意: 这里创建了一个方法来 判断比赛是否结束,胜利者是否出现,谁先到100步。package com.yyf.Thread.demo1;import com.sun.org.apache.bcel.internal.generic.NEW;public class Race implements Runnable{ // static 代表只有唯一一个胜利者 private static String winner; @Override public vo原创 2022-03-29 16:44:51 · 193 阅读 · 0 评论 -
线程四—— 初始并发问题
注意: 这里我们先看下 运行结果 : 相信大家都看到了黄牛和小明同时拿到了第十张票,这里就出现了并发的问题 附上代码举例小明拿到了第9张票黄牛拿到了第10张票小张拿到了第10张票黄牛拿到了第7张票小明拿到了第6张票小张拿到了第8张票黄牛拿到了第4张票小张拿到了第5张票小明拿到了第3张票黄牛拿到了第0张票小张拿到了第2张票小明拿到了第1张票package com.yyf.Thread;public class TestTread5 implements Runnab...原创 2022-03-29 16:19:22 · 120 阅读 · 0 评论 -
线程三—— 实现Runnable接口
注意: 如果 是利用实现Runnable 接口来开启一个线程,那么实现是通过 创建线程对象,然后将线程对象抛到new Thread 这个类中,然后来调用start方法package com.yyf.Thread;public class TestThread3 implements Runnable{ @Override public void run() { for (int i=1;i <100;i++){原创 2022-03-29 15:56:41 · 187 阅读 · 0 评论 -
线程二—— 网图下载
注意: 这里我们用到了一个jar包 下载地址https://mvnrepository.com/artifact/commons-io/commons-io/2.11.0这里用到了两个类WebDownLoad 下载网图类 和 线程类TestThread2 来执行WebDownLoad 进行下载网图的任务。package com.yyf.Thread;import org.apache.commons.io.FileUtils;import java.io.File;imp...原创 2022-03-29 15:51:41 · 344 阅读 · 0 评论 -
线程——继承Thread 类
注意: 这里值得注意的是在继承Thread类时 同时要重写run方法,并创建线程类对象,调用start方法开始执行。 线程并不是立即执行。而是操作系统分配资源给他。他才能执行。package com.yyf.Thread;public class TestThread1 extends Thread{ @Override public void run() { for (int i=1;i <100;i++){ System..原创 2022-03-29 15:47:10 · 769 阅读 · 0 评论 -
缓存的应用 : 缓存——工程思想的产物
缓存一词最初主要指 CPU 与内存之间的高速静态随机存取存储器(SRAM)。一 web中的缓存在做项目的过程中,不知道你们有没有感叹过,一个平平无奇的应用,涉及的点实在是太多了。各个点之间需要衔接,要衔接就会有两个层次的不均衡: 一是性能的不均衡,包括速率、吞吐量等,造成这种不均衡的原因包括软件、硬件、网络、协议、策略等、位置多个维度。 二是数据本身活跃性的不均衡,有些数据会被频繁传递,有些很久才被访问一次。基于这两个不平衡,诞生了各种缓存方案。比较常见的有以下几种:...原创 2022-03-28 15:51:41 · 1668 阅读 · 0 评论 -
自动代码生成器
代码如下: 代码自动生成器 ,自动的帮我们生成了pojo实体类,dao层 ,service层,极大的增加了我们开发软件的效率。package com.yyf;import com.baomidou.mybatisplus.annotation.DbType;import com.baomidou.mybatisplus.annotation.FieldFill;import com.baomidou.mybatisplus.annotation.IdType;import co...原创 2022-03-25 16:26:10 · 3214 阅读 · 0 评论 -
一级缓存,二级缓存,自定义缓存
一级缓存:mybatis中默认有一级缓存二级缓存:开启 在xml中开启 <cache type="org.mybatis.caches.ehcache"/>导入jar包自定义缓存ehcache jar包 <dependency> <groupId>org.mybatis.caches</groupId> <artifactId>mybatis-ehcach..原创 2021-09-27 15:08:10 · 90 阅读 · 0 评论 -
mybatis配置文件中 choose的使用及动态sql的了解
接口 //利用choose 查询数据 动态sql List<Blog> getBlogChoose(Map map);接口配置文件 <select id="getBlogChoose" parameterType="map" resultType="blog"> select * from mybatis.blog <where> <choose>原创 2021-09-15 17:08:21 · 88 阅读 · 0 评论 -
mybatis 多对一
接口:package com.yyf.dao;import com.yyf.pojo.Student;import java.util.List;public interface studentMapper { List<Student> getStudent2();}接口配置文件,按结果嵌套查询<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLI原创 2021-09-15 16:48:31 · 48 阅读 · 0 评论 -
使用lombok注解实现mybatis的增删改查
接口:无需接口.xml配置文件package com.yyf.dao;import com.yyf.pojo.User;import org.apache.ibatis.annotations.*;import java.util.List;import java.util.Map;public interface UserMapper {@Select ("select * from user") List<User> getUsers();@Insert原创 2021-09-15 16:28:10 · 149 阅读 · 0 评论 -
mybatis中limit分页和log4j日志的输出
接口:package com.yyf.dao;import com.yyf.pojo.User;import java.util.List;import java.util.Map;public interface userMapper { //根据ID查询用户 User getUserById(int id); //分页 List<User> getUserByLimit(Map<String,Integer> map);}接原创 2021-09-15 16:22:22 · 68 阅读 · 0 评论 -
我的第一个Mybatis程序
接口:package com.yyf.dao;import com.yyf.pojo.User;import java.util.List;import java.util.Map;public interface UserMapper { //查询所有用户 List<User> getUserList(); //模糊查询name List<User> getUserLike(String name); //根据ID查询用户原创 2021-09-15 15:56:01 · 55 阅读 · 0 评论 -
2021-08-10 HelloServlet
1.编写Servlet程序package com.yyf.servlet;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java原创 2021-08-10 20:50:35 · 70 阅读 · 0 评论 -
2021-08-10 build中配置resouces来防止maven资源导出失败的问题
<build> <resources> <resource> <directory>src/main/resources</directory> <excludes> <exclude>**/*.properties</exclude> <exclude>**/*..原创 2021-08-10 20:31:58 · 64 阅读 · 0 评论 -
2021-08-07 DBCP的一些配置文件和测试代码工具库
DBCP配置文件.peoperties#连接设置,这里面的名字,是DBCP数据源中定义好的driverClassName=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=trueusername=rootpassword=root#<!-- 初始化连接-->initialSize=10原创 2021-08-08 16:37:02 · 123 阅读 · 0 评论