- 博客(28)
- 资源 (8)
- 收藏
- 关注
原创 多个线程并行去操作共享数据问题的完美解答
线程通信的应用:经典例题:生产者/消费者问题生产者(Productor)将产品交给店员(Clerk),而消费者(Customer)从店员处取走产品,店员一次只能持有固定数量的产品(比如:20),如果生产者试图生产更多的产品,店员会叫生产者停一下,如果店中有空位放产品了再通知生产者继续生产;如果店中没有产品了,店员会告诉消费者等一下,如果店中有产品了再通知消费者来取走产品。首先来用一种单一线程操...
2020-01-10 22:44:21 349
原创 使用vue脚手架搭建工程
1.全局安装webpacknpm install webpack -g2.全局安装vue脚手架npm install -g @vue/cli3.初始化vue项目vue脚手架使用webpack模板初始化一个appname项目vue init webpack appname
2021-06-10 22:09:13 212
原创 单链表的增删改查
1.链表介绍链表是有序的列表,但是它在内存中是存储如下小结:链表是以节点的方式来存储,是链式存储每个节点包含 data 域, next 域:指向下一个节点.如上图:发现链表的各个节点不一定是连续存储.链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定2.带头节点的链表增删改查操作分析示意图:1)新增节点信息:2)删除节点信息:3.代码演示:package main.java.Demo04_单链表;public class SingleLinkedListDemo
2021-01-04 22:05:18 398 1
原创 数组模拟环形队列
1.环形队列分析说明:1)尾索引的下一个为头索引时表示队列满,即将队列容量空出一个作为约定,这个在做判断队列满的时候需要注意 (rear + 1) % maxSize == front 满。2)rear == front [空]3)分析示意图:2.代码实现:package main.java.Demo03_环形队列.CircleArrayQueueDemo;import java.util.Scanner;public class CircleArrayQueueDemo {
2020-12-31 12:42:54 172
原创 队列的简单介绍与使用
一.队列介绍1.队列是一个有序列表,可以用数组或是链表来实现。2.遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出示意图:(使用数组模拟队列示意图)3.当我们将数据存入队列时称为”addQueue”,addQueue 的处理需要有两个步骤:思路分析 将尾指针往后移:rear+1 , 当front == rear 【空】若尾指针 rear 小于队列的最大下标 maxSize-1,则将数据存入 rear所指的数组元素中,否则无法存入数据。 rear == maxSize
2020-12-29 17:14:30 241
原创 五子棋算法模拟实现
1.棋盘算法图解2.算法实现package main.java.Demo01_棋盘算法;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.ArrayList;import java.ut
2020-12-29 11:35:56 1136
转载 Maven项目中dependencies与dependencyManagement的区别分析
有时候在项目中经常遇到一些jar包冲突的问题,之后还有很多人分不清楚dependencies与dependencyManagement的区别,本篇文章将来介绍它们的区别。1、DepencyManagement应用场景当我们的项目模块很多的时候,我们使用Maven管理项目非常方便,帮助我们管理构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。由于我们的模块很多,所以我们又抽象了一层,抽出一个itoo-base-parent来管理子项目的公共的依赖
2020-10-13 15:28:30 741
原创 国产数据库达梦8安装(完美躲避各种大坑)
1.官方推荐是创建一个单独的用户来专门安装达梦数据库,我这里为了方便就直接用root用户安装。操作系统—中标麒麟安装目录(并设置文件夹设置权限)在home目录中创建以下文件夹:mkdir dmdbmschmod -R 777 dmdbms/数据文件目录(并设置文件夹设置权限):mkdir dmdatachmod -R 777 dmdata/备份文件目录(并设置文件夹设置权限)mkdir dmbakchmod -R 777 dmbak/归档文件目录(并设置文件夹设置权限)mkdir
2020-10-12 10:43:23 1394 1
原创 整理常用正则的使用
验证数字的正则表达式集 验证数字:^[0-9]*$验证n位的数字:^\d{n}$验证至少n位数字:^\d{n,}$验证m-n位的数字:^\d{m,n}$验证零和非零开头的数字:^(0|[1-9][0-9]*)$验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$验证非零的正整数:^\+?[1-9][0-9]*$验证非零的负整数:^\-[1-9][0-9]*$验证非负整数(正整数 + 0) ^\d+$验
2020-09-28 09:07:28 136
原创 kettle工具的简单使用
1.官网下载https://sourceforge.net/projects/pentaho/files/Data%20Integration/2.3.创建起始数据库连接4.创建接收数据的数据库5.选择工具栏---->向导—>复制多表向导6.点击next,将srcDB数据库的表全部移入到destDB中7.点击next,给job取名,尽量不要取中文名字,可能会出问题,可以选择把job运行过程中产生的文件保存到自己能够找到的工作目录,方便以后能够找到。8.点击finis
2020-09-14 13:45:24 195
原创 Spring细节知识点总结
1.IOC和DI的理解DI依赖注入就是赋值 注入就是依赖谁注入谁 换句话说依赖谁就为谁赋值IOC(Inversion of Control):反转控制 就是把原来我们程序员对对象的控制权交给了程序本身,让程序自己进行管理,程序本身由spring来控制ioc可以理解为一种思想 DI理解为一种具体的实现方式------------------------------------------------2.bean的作用域spring bean scope=singt
2020-08-21 15:31:12 156
原创 VirtualBox与vagrant快速创建虚拟机
1.下载&安装VirtualBoxhttps://www.virtualbox.org/wiki/Downloads ---(下载windows hosts 傻瓜式安装)2.下载&Vagranthttps://app.vagrantup.com/boxes/search ----vagrant官方镜像仓库https://www.vagrantup.com/downloads ----(下载Windows 64-bit版本 傻瓜式安装),vagrant下载
2020-07-30 09:29:02 146
原创 zookeeper安装及其使用
1.官网:https://zookeeper.apache.org/2.将zookeeper-3.4.11.tar.gz拷贝进入到/opt目录下并解压3.新建专属zookeeper目录,mkdir /myzookeeper, 随后将上一步解压的zookeeper内容拷贝进/myzookeeper目录内4.启动zookeeper(启动Zookeeper服务之前需要先安装好Java环境)到/myzookeeper/zookeeper-3.4.9/bin路径下,执行./zkServer.sh s
2020-07-19 23:30:09 338
原创 SpringMVC中上传下载
@RequestMapping("/down") public ResponseEntity<byte[]> down(HttpSession session) throws IOException{ //获取下载文件的路径 String realPath = session.getServletContext().getRealPath("img"); String finalPath = realPath + File.separator + "2.jpg"; Inp
2020-07-18 10:54:14 104
原创 Mybatis中#和$的取参数值问题总结
PreparedStatement:可以使用通配符操作SQL,因为在为String类型赋值的时候,可以自动加单引号,因此不需要考虑单引号问题,所以建议用#Statement:必须使用字符串拼接的方式来操作SQL,一定要注意单引号问题,${}就是Statement模式,但是会有SQL注入危险。Emp getEmpByEid(String eid);1.当只传一个参数时,#{},可以填任意参数获取值select eid,ename,age,sex from emp where eid = #{任何
2020-07-17 16:34:34 406
原创 使用监听器模拟Spring和SpringMVC的整合
1.自定义一个监听器继承ServletContextListener/** * Application Lifecycle Listener implementation class SpringListener * */public class SpringListener implements ServletContextListener { /** * Default constructor. */ public SpringListener() {
2020-07-17 14:37:15 231
原创 SpringMVC的源码调试流程
1.ModelAndView对象的一些信息private Object view; 用于描述视图信息private ModelMap model; 用于描述模型数据(响应数据)public void setViewName(String viewName) 设置视图名字public ModelAndView addObject(String attributeName, Object attributeValue) 设置模型数据protected Map<String, Object
2020-07-17 10:20:57 436
原创 STS中设置tomcat热部署以及javaweb项目启动无法访问问题
一.JavaWeb项目中,接口访问的不了的可能原因如下图:解决如下图,将路径改正确即可。二.tomcat 热部署1.2.3.4.改完tomcat的server.xml后去查看tomcat 配置中有没有变成Enabled
2020-07-16 21:54:40 648
原创 redis的安装及其使用
1.redis下载1)Redis官方网站 http://Redis.io2)Redis中文官方网站 http://www.Redis.net.cn2.安装步骤1)下载获得redis-3.2.5.tar.gz后将它放入我们的Linux目录/opt2)解压命令:tar -zxvf redis-3.2.5.tar.gz3)解压完成后进入目录:cd redis-3.2.54)在redis-3.2.5目录下执行make命令 运行Make命令时出现错误,提示 gcc:命令未找到 ,原因是因为当前
2020-06-14 22:23:08 383
原创 VM12安装centos7的完美图解教程
1.第一步2.第二步3.第三步4.第四步5.第五步6.第六步7.第七步8.第八步9.第九步10.第十步11.第十一步12.第十二步13.第十三步14.第十四步15.第十五步16.第十六步17.第十七步18.第十八步19.第十九步20.第二十步21.第二十一步22.第二十二步23.第二十三步24.第二十四步25.第二十五步26.第二十六步27.第二十七步28.第二十八步29.第二十九步30.第三十步
2020-06-12 20:52:26 226
原创 centos7系统安装mysql5.7的步骤以及一些注意事项
此处MySQL位置安装在 /usr/local 下一:第一步、下载MySQL 安装包:wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm将根目录的rpm安装包拷贝到usr/local/目录下cp mysql57-community-release-el7-11.noarch.rpm /usr/local/安装之前要先确定该系统已经安装了wget,不然无法下载yum -y install .
2020-06-06 20:16:26 158
原创 centos7系统关于防火墙的一些总结
在 Centos 7 中防火墙由 firewalld 来管理,而不是 iptables。1.查看防火墙状态#firewall-cmd --state ## 结果显示为running或not running2.关闭防火墙firewallsystemctl stop firewalld.servicesystemctl disable firewalld.service3.关闭防火墙firewall后开启systemctl start firewalld.se
2020-06-06 18:35:21 189
原创 Java如何控制线程的先后执行顺序
Thread类中有一个join方法:join():在线程a中调用线程b的join(),此时线程a就进入阻塞状态,直到线程b执行完成以后,线程a才结束阻塞状态。下面介绍2种写法:写法1:public class JoinTest { public static void main(String[] args) { Join t1 = new Join(); ...
2020-01-30 15:42:59 807
原创 假设存在n个正整数,如果将他们连起来,能组成的最大多位整数是多少?
设有n个正整数,将他们连接成一排,组成一个最大的多位整数。如:n=3时,3个整数13,312,343,连成的最大整数为34331213。如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。代码如下所示:import java.io.BufferedReader;import java.io.IOException;import java.io.InputSt...
2020-01-30 15:38:36 829
原创 java如何高效的实现一个字符串中第一次出现重复字符的位置
曾经在南京一家公司遇到的笔试题,话不多说直接上代码:/** * java如何高效的实现一个字符串中第一次出现重复字符的位置 */public class FindFirstDemo { public static void main(String[] args) { System.out.println(getFirstIndex("abcdscc"));//5...
2020-01-30 15:16:25 1261
原创 使用两个线程打印 1-100。线程1, 线程2 交替分别打印奇数和偶数
该案例设计到的知识点:wait():一旦执行此方法,当前线程就进入阻塞状态,并释放同步监视器。notify():一旦执行此方法,就会唤醒被wait的一个线程。如果有多个线程被wait,就唤醒优先级高的那个。notifyAll():一旦执行此方法,就会唤醒所有被wait的线程。注意点:wait(),notify(),notifyAll()三个方法必须使用在同步代码块或同步方法中。w...
2020-01-10 20:12:35 3585
原创 多线程之交替打印数字与字母案例
多线程之交替打印数字与字母案例编写一段代码,创建2个线程,一个线程循环输出123...90123...,另一个线程循环输出ABC...ZABC...,要求控制台最终输出效果为1A2B3C4D5E...。方案1:import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Condition;import j...
2020-01-08 22:19:10 863
Verify_code.rar
2020-07-19
Docker知识总结大全 .mmap
2020-01-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人