![](https://img-blog.csdnimg.cn/a3c6c96dc1304d18b220a401023dac3f.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java
文章平均质量分 55
java技术干货
汪程序猿
软件工程专业,主要研究JAVA后端。需求,架构,框架,人工智能,机器学习,数据库,操作系统,spring全家桶等
展开
-
SimpleDateFormat方法,时间操作
【代码】SimpleDateFormat方法,时间操作。原创 2023-04-17 11:36:06 · 301 阅读 · 1 评论 -
java的进程和加锁
代码每次无法到达20000,因为存在进程之间未同步,可能线程1正在对count加1,但是突然线程2到来,线程1还未来的及加1。在方法前加synchronized,就可以实现同步20000。原创 2022-06-04 10:32:57 · 684 阅读 · 0 评论 -
常见设计模式介绍以及在Java中的实现
看懂UML类图和时序图类之间的关系泛化关系(generalization)类的继承结构表现在UML中为:泛化(generalize)与实现(realize):继承关系为 is-a的关系;两个对象之间如果可以用 is-a 来表示,就是继承关系:eg:自行车是车、猫是动物泛化关系用一条带空心箭头的直接表示;如下图表示(A继承自B);设计模式的六大原则1、开闭原则(Open Close Principle)开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能原创 2022-05-26 17:08:55 · 233 阅读 · 0 评论 -
JDBC和Mybatis数据库操作,整合springboot
建数据库sqlINSERT INTO `test`.`tb_user`(`id`, `user_name`, `password`, `name`, `age`, `email`) VALUES (1, 'zhangsan', '8888888', '张三', 20, 'test1@itcast.cn');INSERT INTO `test`.`tb_user`(`id`, `user_name`, `password`, `name`, `age`, `email`) VALUES (2, 'lisi原创 2022-05-18 20:10:30 · 321 阅读 · 0 评论 -
设计模式上课笔记
下载地址:https://github.com/WangWenShuai529/javaDesignClassNotehttps://download.csdn.net/download/m0_61504367/85407381package Observer.mode;public class University implements IObserve{private ISubject subject;public ISubject getSubject() { r原创 2022-05-18 17:03:32 · 145 阅读 · 0 评论 -
命令模式实现电视遥控器
需求电视机遥控器之练习题:• 电视机是请求的接收者,遥控器是请求的发送者,遥控器上有一些按钮, 不同的按钮对应电视机的不同操作。抽象命令角色由一个命令接口来扮 演,有三个具体的命令类实现了抽象命令接口,这三个具体命令类分别 代表三种操作:打开电视机、关闭电视机和切换频道。显然,电视机遥 控器就是一个典型的命令模式应用实例。类图项目结构运行截图代码package command.homeworkTV;//命令接口public interface AbstractCommand {原创 2022-05-10 14:45:00 · 1078 阅读 · 0 评论 -
命令模式实现文件的创建和删除
运行截图代码项目结构package command;public class TestUse { public static void main(String args[]) throws Exception{ //接收者 MakeFile makeFile = new MakeFile(); //命令 CommandCreate create = new CommandCreate(makeFile); CommandDelete delete = new Command原创 2022-05-03 10:07:18 · 278 阅读 · 0 评论 -
命令模式模拟指挥官发命令java实现
基本描述运行截图代码实现项目目录package command.homework;//命令接口public interface Command { void execute(String name) throws Exception;}package command.homework;//接收者public class Receiver { public void attack(String name) { System.out.println(name+"进攻");原创 2022-05-03 10:31:57 · 542 阅读 · 0 评论 -
观察者模式简单实现
实验内容实验运行截图实验代码package Observer.homework;import java.text.SimpleDateFormat;import java.util.Date;public class TestUse { public static void main(String args[]){ //创建主题 WeatherService service = WeatherService.instance; //原创 2022-05-02 14:15:00 · 326 阅读 · 0 评论 -
Shiro (java安全框架)
Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证、授权、加密和会话管理等功能,对于任何一个应用程序,Shiro 都可以提供全面的安全管理服务。并且相对于其他安全框架,Shiro 要简单的多。本教程只介绍基本的 Shiro 使用,不会过多分析源码等,重在使用。简介Authentication:身份认证 / 登录,验证用户是不是拥有相应的身份;Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否能做事情,常见的如:验证某个用户是否拥原创 2022-04-16 17:21:12 · 1080 阅读 · 0 评论 -
适配器模式完成机器人学狗叫
模式实例仿生机器人:实例说明现需要设计一个可以模拟各种动物行为的机器人,在机器人中定义了一 系列方法,如机器人叫喊方法cry()、机器人移动方法move()等。如果希望在不修改已有代码的基础上使得机器人能够像狗一样叫,像狗一样跑, 使用适配器模式进行系统设计。类图代码实现package adapter.robot;//对象适配器public class DogAdapter implements Robot{ Dog dog; public DogAdapte原创 2022-04-14 14:14:24 · 1551 阅读 · 0 评论 -
单例模式的使用:唯一的月亮
描述编写一个窗口图形应用程序,使用单例模式类中的类方法得到单例类的唯一实例(月亮的信息),运行效果如下图所示。解决单例模式的使用:唯一的月亮运行截图:代码package Simple;import java.awt.*;import javax.swing.*;public class homework extends JFrame{ public homework(String name) { } public static void main(原创 2022-04-10 11:38:53 · 579 阅读 · 0 评论 -
简单工厂,利用反射读取xml创建对象
问题描述基本类图项目结构实现工厂模式运行的效果代码package Car;public interface Benz { public void carColor(); public void carSpeed(); public void carPrice();}package Car;public class BenzC180 implements Benz { @Override public void carColo原创 2022-04-08 06:30:00 · 545 阅读 · 0 评论 -
Java基础知识和进阶
java基础知识原创 2022-04-04 21:28:59 · 5599 阅读 · 6 评论 -
VScode如何运行java程序和springboot项目
首先下载jdk1.8一般vscode会有提示并且配置好环境变量此时,需要在终端,win+R,输入cmd,输入java出现这个代表配置成功。安装插件安装插件安装Java Extension Pack安装Spring Boot Extension Pack插件已经安装好了。在VScode中配置JAVA_HOME运行...原创 2022-04-02 20:17:38 · 1778 阅读 · 0 评论 -
接口隔离原则的应用实现
问题描述设计要求:电子商务系统中,订单类在三个不同的系统中使用,由类图可知不同系统的使用方式不一致。其中:门户类只能有查询方法;外部系统只有添加订单的方法;管理后台类,则有添加、删除、修改和查询功能。针对这些场景,编写代码完成相应的功能。代码先看以下项目结构package Order;public class main { public static void main(String[] args) { IOrderForPortal orderForPort原创 2022-04-04 23:00:00 · 441 阅读 · 0 评论 -
依赖倒转原则实现司机开多种车
package dri;public class Main { public static void main(String[] args){ Driver driver1 = new Driver(); ICar car1 =new BMW(); driver1.driver(car1); ICar car2 =new Benz(); driver1.driver(car2); }}package d..原创 2022-04-01 09:20:25 · 291 阅读 · 0 评论 -
利用A*算法解决迷宫问题(附代码)
《人工智能》实验报告实验名称: 利用A*算法解决迷宫问题班 级: 软件工程1912022 年 3 月 29 日先看一下效果:整体图:一、问题描述利用A*算法在迷宫中找到一条最优路径。其中1代表墙,0代表路。出发位置为左上角,终点为右下角。二、实验目的学习并实现A*算法,实现使用java语言。三、实验内容3.1数据导入将map.txt中的迷宫地图存入二维数组中。 String filename = in.next();原创 2022-03-30 11:39:25 · 7210 阅读 · 0 评论 -
“开闭原则”实现图书售卖简单实现
基本描述需求变更:假设书店原有4大名著,现在按照9折销售图书,请打印输出打折前后的图书信息。遵照“开闭原则”中对修改关闭的原则,不能直接修改IBook接口和NovelBook 类,而是通过增加一个子类OffNovelBook来完成 。代码实现项目结构运行截图代码/*书的接口*/ public interface IBook{ public String getName(); public double getPrice();原创 2022-03-29 22:30:00 · 376 阅读 · 0 评论 -
使用线程池创建多线程
问题使用线程池创建多线程。模拟同学找老师学习Java。创建线程池对象,包含2个线程。从线程池中获取线程对象,然后调用MyRunnable中的run();MyRunnable类实现了Runnable接口,首先在控制台打印需求,“我需要一个老师”。模拟需要2秒钟时间老师可以过来指导学生,并在控制台打印老师的姓名。最后,在控制台打印“教我java,教完后,老师回到了办公室”;项目截图代码package com.wang;public class MyRunnable implemen原创 2022-03-29 07:45:00 · 867 阅读 · 1 评论 -
java等待与唤醒案例、线程池、Lambda表达式(附代码)
线程池、Lambda表达式主要内容等待与唤醒案例线程池Lambda表达式教学目标-[ ] 能够理解线程通信概念-[ ] 能够理解等待唤醒机制-[ ] 能够描述Java中线程池运行原理-[ ] 能够理解函数式编程相对于面向对象的优点-[ ] 能够掌握Lambda表达式的标准格式-[ ] 能够使用Lambda标准格式使用Runnable与Comparator接口-[ ] 能够掌握Lambda表达式的省略格式与规则-[ ] 能够使用Lambda省略格式使用Runnable与Compa原创 2022-03-22 10:26:27 · 243 阅读 · 0 评论 -
重定向和转发的区别及应用
重定向重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,浏览器中所显示的URL会变成新页面的URL, 而当使用转发时,该URL会保持不变。在客户浏览器路径栏显示的是其重定向的路径,客户可以观察到地址的变化的。重定向行为是浏览器做了至少两次的访问请求的。重定向的速度比转发慢,因为浏览器还得发出一个新的请求。同时,由于重原创 2022-03-20 16:20:34 · 565 阅读 · 0 评论 -
Markdown基本语法
优点:1、因为是纯文本,所以只要支持Markdown的地方都能获得一样的编辑效果,可以让作者摆脱排版的困扰,专心写作。2、操作简单。比如:WYSIWYG编辑时标记个标题,先选中内容,再点击导航栏的标题按钮,选择几级标题。要三个步骤。而Markdown只需要在标题内容前加#即可一、标题在想要设置为标题的文字前面加#来表示一个#是一级标题,二个#是二级标题,以此类推。支持六级标题。这是一级标题这是二级标题这是三级标题这是四级标题这是五级标题这是六级标题二、字体加粗要加粗的文字左右.原创 2022-03-20 16:10:34 · 288 阅读 · 0 评论 -
java实现洗牌、发牌、留三张牌
代码:import java.util.ArrayList;import java.util.Collections;import java.util.Scanner;public class start { public static void main(String[] args) { ArrayList<String> array = new ArrayList<>(); String[] colors = {"🔶..原创 2022-03-21 00:00:00 · 950 阅读 · 0 评论 -
java利用接口实现USB,鼠标,键盘,电脑之间的关系
项目视图:代码: USB.java public interface USB {// 开启USBpublic abstract void open();// 关闭USBpublic abstract void close();} Mouse.java public class Mouse implements USB {//重写接口的方法@Override public void ...原创 2022-03-21 00:00:00 · 599 阅读 · 0 评论 -
java继承实现发红包简单实现
项目结构:运行结果:User.java /*这是个父类*/public class Users { //名字和余额private String name; private int balanceMoney; public String getName() { return name;} public void setName(String name) { this....原创 2022-03-08 11:33:23 · 2697 阅读 · 0 评论