- 博客(70)
- 收藏
- 关注
原创 简单Java自旋锁
1.什么是自旋锁自旋锁(spin lock)是一种非阻塞锁,也就是说,如果某线程需要获取锁,但该锁已经被其他线程占用时,该线程不会被挂起(在哪循环),而是在不断的消耗CPU的时间,不停的试图获取锁。2.什么时候用自旋锁自旋锁就主要用在临界区持锁时间非常短且CPU资源不紧张的情况下,自旋锁一般用于多核的服务器。Java 实现 简单可重入自旋锁public class SpinLock implements Lock { /** * use thread itself as sy
2021-09-14 11:34:56
420
原创 红黑树Java实现
1 概念红黑树是一种自平衡的二叉查找树,除了满足二叉查找树的性质外,还需要满足如下五个条件:1. 节点是红色或黑色2. 根节点为黑色3. 所有叶子节点都是黑色4. 每个红色节点都必须有两个黑色的子节点5. 从任一节点到叶子节点的所有路径都包含相同数目的黑色节点2操作红黑树的维护操作操作有三个,分别是变色、左旋和右旋,红黑树的插入、删除 有时会破坏树的结构 需要用这三个基本操作维护树的结构2.1 变色变色操作比较简单,不改变该节点的值以及该节点在红黑树中的位置,仅改变该节点的颜色,红黑
2021-09-13 12:31:40
1190
原创 ElasticSearch开机自动启动
在/etc/systemd/system/下新建文件elasticsearch.servicecd /etc/systemd/system/touch elasticsearch.service编辑elasticsearch.service文件vi elasticsearch.servicees为你的用户名称[Unit]Description=elasticsearch[Service]User=es LimitNOFILE=100000LimitNPROC=100000Exec
2021-08-30 17:51:33
294
原创 nginx 和 keepalived的下载和安装
第一步,安装 pcre温馨提示 在安装之前一定要先安装 gcc、gcc-c++和配置好Java环境如果没有安装 请先安装# rpm -qa | grep gcc-c++# yum install -y gcc-c++输入#java#javac现在才开始安装了进入 安装地点 /usr/srccd /usr/src执行安装命令wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.
2021-07-16 17:22:36
523
原创 JZ28 数组中出现次数超过一半的数字
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。你可以假设数组是非空的,并且给定的数组总是存在多数元素。1<=数组长度<=50000题解 思路因为 数字的个数超过一半以五个数为例[1,1,1,2,3]不论是[1,1,1,2,3][1,1,2,1,3][1,2,1,3,1]都能保证 t 保存的是数量超过一半的数的因为count 等于零的时
2021-07-13 09:56:48
116
原创 用线程加锁模拟红绿灯
先吐槽一波今天学习lock的时候突然想起来大一学Java的时候有个题叫用线程加锁模拟红绿灯当时感觉挺傻的红绿灯是按顺序执行的为什么开三个线程让他们抢占cpu现在想想可能老师的目的是让我们练习线程间的通讯的吧(强力帮老师圆回来)当时要求用 synchronized 写package com.nwk.sync;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;impor
2021-07-09 16:12:22
324
原创 Lock 和 synchronized 的几点不同
synchronized介绍synchronized是 Java 中的关键字,是一种同步锁。它修饰的对象有以下几种:修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象;虽然可以使用 synchronized 来定义方法,但 synchronized 并不属于方法定义的一部分,因此,synchronized 关键字不能被继承。如果在父
2021-07-09 11:53:53
152
原创 设计模式 懒汉模式
1.新手写法 单线程安全 多线程 不安全 (千万不能用)public class People { private static People singleton; private People() { System.out.println(Thread.currentThread().getName()+" OK"); } public static People getInstance() { if (singleton =
2021-05-31 21:28:58
150
原创 设计模式 饿汉的两种写法
1. 静态代码块/*饿对象在静态代码块里 因为静态代码块里的代码优先加载而且只加载一次 *所以可以实现只有一个实例 */public class Animal { private static Animal instance; static { instance = new Animal(); } private Animal() {} public static Animal getInstance() { ret
2021-05-31 21:10:58
176
原创 枚举实现单例
/** 枚举单例模式** */public class SingletonExample { private SingletonExample() { } public static SingletonExample getInstance() { return Singleton.INSTANCE.getInstance(); } private enum Singleton { INSTANCE; pr.
2021-05-31 21:05:42
212
原创 tinymce编辑器 上传本地图片 springboot接收数据
tinymce一个比较好用的文本编译器是搭建博客的好工具具体可以查看中文文档http://tinymce.ax-z.cn/我就不多说了下面说一下需求我要用 tinymce 上传本地图片 springboot接收数据在网上找了好久没有发现一springboot为后台的所以自己写了一个二话不说上代码前台页面 我只加了上传图片 有需要的可以自己加<!DOCTYPE html><html lang="en"><head> <meta chars
2021-04-13 17:17:01
1133
原创 按照id大小随机获取数据
在那条数据里数据获取15条数据 SELECT user_name as userName ,user_volunteerTime as userVolunteerTime FROM user WHERE user_id >= (select ((select MAX(user_id) FROM user) -(SELECT MIN(user_id) FROM user))* RAND() + (SELECT MIN(user_id) FROM user)) LIMIT 15注意括
2021-04-08 21:08:21
141
原创 mybatis批量修改和 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException 错误
在模拟数据时可能会对数据进行大量的修改如果逐条修改数据量小的话还好如果数据量过大单纯的每一请求会话的时间就够你受的但我们使用mybatis时可以使用 foreach 进行批量修改<update id="updateVolunteerTimes" parameterType="arraylist"> <foreach collection="list" item="item" index="index" open="" close="" separator=";">
2021-04-08 20:53:51
228
原创 mysql实现按地区获取个数
先说一下需求我现在有个字段地址如“河南省洛阳市洛龙区李村镇”我要统计洛阳市每个区的注册人数类似于这样的想要的数据是select substring(user_address,7,3) as 地区 ,count(*) as 人数from user GROUP BY substring(user_address,7,3)substring(user_address,7,3) 字符串截取GROUP BY substring(user_address,7,3)按照截取的字符串分类
2021-04-07 19:34:05
2389
2
原创 Springboot+Spring Security+Swagger3.0:完美整合
是不是因为这个报错进来的Unable to infer base url. This is common when using dynamic servlet registration or when the API is behind an API Gateway. The base url is the root of where all the swagger resources are served. For e.g. if the api is available at http://e
2021-03-24 22:05:51
1739
5
原创 springboot 单文件和多文件上传
前言我们平时的管理系统用的最多的应该就是文件上传了从最原始的流的形似到springmvc分装的文件上传再到springboot封装的文件上传可以说事越来越简单 现在我们看一下spring boot的文件上传功能1 . 前端代码前端代码最值得关注的就是 enctype="multipart/form-data" 这里的是必须这样写的<!DOCTYPE html><html lang="en" xmlns:th="http://www.thymeleaf.org">
2021-03-10 21:54:31
166
原创 springboot自定义转换类型
前言 : 当springboot内置的转换类型不能满足我们的需求时这时候就需要自定义转换类型了吐槽一下 首先springboot内置了124种转换类型 基本上可以满足我们的开发需要,但是总有一些需求让你头疼吐槽完毕进入正题1.创建配置类1.1@Configuration(proxyBeanMethods = false) 注解用来声明当前类是个配置类1.2new Converter<String, Pet> 表示将String 转换为 Pet 类型@Config
2021-02-28 18:32:02
827
原创 阿里云购买域名并备案
是不是感觉老用IP访问项目有点傻 现在教你如何用域名访问服务器上的项目 1.先买个域名https://www.aliyun.com/ss/?k=域名阿里云官网2.选择想要的域名 点击查找3.选着想要的后缀如果自己跑着玩的项目 建议top (便宜) 具体看你自己了 点击加入清单即可4.去结算5.提交订单如果是自己的选择个人5.1选择个人如果你是第一次购买需要添加信息模板5.2按着步骤填写信息就可以了 (需要实名制需要等一段时间)填写好后
2020-11-17 11:48:29
768
原创 windows服务器 如何开放端口
前言因为不会liunx 在阿里领了个Windows 的服务器 配置tomcat是不能访问 并且在控制台开放过端口了还是不行可能原因是防火墙端口没有开放1.先看看你的服务器防火墙是否开放如果你防火墙没有开就不会是防火墙的问题 可以不用向下看的可以再去百度了2.如果你开防火墙了 就去开放端口2.1打开控制面板的系统与安全2.2打开Windows Defender 防火墙2.3打开高级设置2.4 点击入栈站规则2.5看看你是否已经打开端口了2.6如果没有的话 点击 新建规则
2020-11-17 11:02:24
16339
2
原创 windows服务器给Tomcat配置 ssl和80端口不能访问的问题
给Tomcat配置ssl背景介绍第一步 你要有个服务器第二步配置服务器安全组 (这点很重要)如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入背景介绍最近学习了微信小程序 ,无奈要上线时才知道要https格式的域名所以被迫营业 话不多说开始第一步 你要有个服务器如果
2020-11-17 10:40:25
1398
4
原创 linux 安装mysql5.7.23(rpm安装)
在虚拟机CentOs7上安装MySQL查看环境_这一步很重要如果有MySQL 恭喜你 你都有了还安装啥(开个玩笑)解压安装包然后新建一个文件夹安装初始化开启远程访问当看到这时恭喜你 你成功了下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads查看环境_这一步很重要rpm -qa | grep -i mariadb如果是这样的就不用进行如何操作了如果是这样的需要删除mariadbrpm -e --nodeps mari
2020-11-04 09:25:47
353
原创 java 原型模式 浅克隆和 深克隆
java 原型模式Java原型模式 :通俗易懂的叫复制,通过复制得到一个一模一样的对象。浅克隆内容完全复制,如果存在引用类型的话指向的是同一个对象的(地址)原理图因为克隆是直接复制的对象的内容,当对象的成员是引用类型时(也就是传进来的是个地址)就会出现当引用的内容改变时复制对象和被复制对象的引用类型的值都会改变直接上代码```javapackage prototype;import javax.xml.crypto.Data;import java.util.Date;pub
2020-09-27 11:03:13
197
原创 Java工厂模式-静态工厂
工厂模式1.简单工厂我的理解:只是把new对象交给了工厂,你给相应的参数工厂给你相应的值1.简单工厂简而言之,就是有一个专门生产某个产品的类。比如下图中的汽车工厂,专业生产汽车,给参数特斯拉,生产特斯拉汽车,给参数特斯拉,生产特斯拉。一个车工厂的接口public interface Car { void name();}二个汽车//比亚迪public class Bmw implements Car{ @Override public void name()
2020-09-24 20:02:31
157
原创 关于判断谈条件里带 “,”的问题 for(j=0,i=0;j<6,i<10;j++,i++) { k=i+j; }k 值最后是多少?
今天看了关于for(j=0,i=0;j<6,i<10;j++,i++) { k=i+j; } k 值最后是多少?先说一下结果吧结果是18 ,期初我以为是以为 (i<6,j<10) 有或的关系 ,感觉解释的通(结果打脸了),然后我就在考虑是不是只判断了最后的条件循环继续的判断依据以分号前的最后一项为准可能不一定对大家参考一下就行了...
2020-07-30 15:00:24
400
原创 关于结构体地址问题
今天看一个单片机项目的源码发现了一个好玩的问题明明传过来的是地址 +2 地址不就变了?#include<stdio.h>typedef struct cs{ int a; int b; int c; int d; };void abc(cs *n);void abb(int *n);int main(){ cs j; cs *p= &j; j.a=7; j.b=5; j.c=3; printf(" a的地址 -->%d\n
2020-07-09 19:14:04
3238
原创 ssm+easyUI 开发期末大作业感想加源码
自学的ssm写的第一个项目可能很垃圾还请各位大神不要吐槽先说一下用到的东西1.ssm框架 这个就不多说了2.easyui 框架3.JQ4.MYSQL数据库如有需要请自己了解话不多说先上效果图喜欢的继续看1. 登录页面可以屏幕自适应简单的说一下验证码可以点击刷新分别有管理员界面和教师界面教师界面还未完善 后期将会完善2.登录后的页面可以看到页面是 典型的easyUI的界面左边有 数据表信息和人员管理两个功能3. 网课上课情况可以实现模糊查询和导出的功能输入的日期不同呈现的
2020-06-10 18:57:59
642
5
原创 Java用JDBC连接MySQL数据库
如果你的只是单纯的需要连接数据库的代码和驱动 那么请看前面的讲解 如果需要完整的详细的讲解请向下看public class TestConnection { //增删改 @Test public void testUpdate() throws Exception { //步骤1:注册驱动(为了让mysql的实现类加载到内存可以使用) //DriverManager.registerDriver(new Driver()); 不建议使用具体的见...
2020-06-01 15:18:24
1149
原创 Mysql安装过程中遇到的卡在start server,和重新安装问题
当遇到一直卡在start server有几种方法可以解决打开计算机管理:开始菜单-计算机-右键-管理找到MySQL57服务:服务和应用程序-服务-MySQL57此时应该显示的是未启动,通过修改登陆账户启动MySQL服务:MySQL57-右键-属性-登陆-勾选登陆身份:本地系统账户,允许服务与桌面交互如果启动时出现下面的图片就 卸载吧卸载步骤如下 2.卸载1...
2020-02-12 13:19:28
1867
原创 sql server 复习资料 选着 填空 判断
数据库系统概论客观性试题一、单项选择题1.关于数据库系统结构的叙述正确的一项是( a )。A)一个数据库可以有多个外模式,但只能有一个模式B)一个数据库可以有多个内模式,但只能有一个模式C)一个数据库只能有一个外模式,也只能有一个内模式D)一个数据库可以有多个外模式和内模式2.若属性F是基本关系R的外键,它与基本关系S的主键K相对应,则对于R中每个元组在F上的值必须等于S中某元组的主...
2019-12-20 20:59:32
1378
1
原创 html +js 实现 3D 相册自动旋转+流星雨背景+轮播图
标题 3D 相册自动旋转+流星雨背景+轮播图效果图<!-- --><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initi...
2019-12-19 19:39:07
3416
9
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅