![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 52
liumce
有趣的程序媛!
展开
-
分布式事务与分布式锁区别及概念学习
对于那些性能要求很高,但对一致性要求不高的系统,往往不苛求系统的实时一致性,只要在允许的时间段内达到最终一致性即可,可采用事务补偿的方式。与事务在执行中发生错误后立即回滚的方式不同,事务补偿是一种事后检查补救的措施,一些常见的实现方法有:对数据进行对账检查,基于日志进行对比,定期同标准数据来源进行同步等等。事务补偿还要结合业务系统来考虑。原创 2023-05-23 14:57:53 · 1290 阅读 · 1 评论 -
死锁知识记录
死锁基础知识,初学习原创 2023-05-23 14:46:44 · 514 阅读 · 0 评论 -
Mac安装Redis详细操作记录
一、command+空格 聚焦搜索“终端.app”二、使用Homebrew安装Redis进入终端后输入以下命令,选择输入1下载中科大代理/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"三、使用Homebrew安装命令brew install redis执行以上命令,等待安装后显示:四、查看安装路径 Homebrew安装的软件会默认在/op原创 2022-03-06 15:35:32 · 2407 阅读 · 0 评论 -
Springboot 用户上传头像文件
因项目中需要在添加用户、修改用户时上传用户头像,并显示出来。详细代码如下:一、controller层/** * @Author: liumce * @Description: 头像上传功能控制 * @Date: Created in 2021/09/14 17:03 * @Modified By: */@Controller@RequestMapping("/upload")public class UploadController { private Log原创 2021-09-15 09:12:59 · 2265 阅读 · 0 评论 -
Spring Security做JWT认证和授权
在前后端分离项目中,用户授权权限控制需要使用Spring Security来做,之前的系统用过shiro还不是很熟悉,参考简书下文学习,以此记录。SpringBoot中使用Shiro和JWT做认证和鉴权Spring Security做JWT认证和授权...转载 2021-08-09 10:19:47 · 215 阅读 · 0 评论 -
PostgreSql 根据筛选条件(id、起始时间)多选查询数据排序
1.多选查询数据排序SELECT b.* , s.usname FROM test AS b LEFT JOIN userd AS s ON s.id = b.id WHERE 1 = 1 AND s.id IN ( ) AND addtime <=? AND addtime >=? ORDER BY b.addtime DESC实现SELECT b.* , s.usname FROM test AS b LEFT JOIN userd A原创 2021-08-09 10:16:57 · 2116 阅读 · 0 评论 -
Pgsql 获取本月开始的一条到结束最后一天函数
要求:第一天的时间00:00:00和最后一天的时间23:59:59代码:SELECT date_trunc( 'month', CURRENT_DATE ) :: TIMESTAMP AS first_timestamp, date_trunc( 'month', CURRENT_DATE ) :: TIMESTAMP + INTERVAL '1 month - 1 second' AS last_timestamp;实现效果:查询本月数据条数:SELECT count(*)原创 2021-05-20 09:44:00 · 2819 阅读 · 0 评论 -
Pgsql 查询某个id下B表中的属性是否存在在A表字段现有属性中(设备)
一.通过id查询B表所有设备去看A表是否有这些设备存在,返回已有最新存在的设备。(举一反三)二.sql代码--994140302 ?SELECT ws.*,s.device FROM B ws LEFT JOIN A s ON ws.aton_id=s.aton_id WHERE ws.aton_id=994140302 AND CAST(ws.type AS varchar)=ANY(regexp_split_to_array(s.device, E','))--查询某个i.原创 2021-05-11 16:31:29 · 652 阅读 · 0 评论 -
PostgreSQL--数据对比柱状图
一.业务场景pgsql查询多个id的数据,并分组对比,并求最大最小值。二.sql参考SELECT es.name, MAX ( ws.average_wind_speed ) AS wind_speed, MAX ( ws.average_wind_direct ) AS wind_direct FROM enavmark_station es LEFT JOIN enavmark_windspeed ws ON ws.aton_id = es.aton_id AND ws.a原创 2021-05-08 11:03:26 · 204 阅读 · 0 评论 -
Java pgsql--判定B表某字段是否在A表中包含
一.思路:先查询A表数据,取出device(1,2,3)数据,然后入库每个device参数的时候,看下这个设备在A表查询信息里面是否存在。与字段,值比较,并且站点管理编号和名称不能重复。二.示例代码:/*controller类代码 设置设备接口*/ public void setEnavmarkStationWarning() { /*前端传入[{}]格式参数*/ JSONArray params = JSON.parseArray(getPara(".原创 2021-05-08 10:33:35 · 1123 阅读 · 0 评论 -
新增和修改时不可重复添加重复性校验解决方案
一.业务场景:添加:添加的数据不能在数据库中存在,存在则不能添加; 不存在方可添加修改:修改提交的数据是当前的数据,则可以成功修改 修改的数据需要排除它本身,在其他数据中也不存在,才可以修改如:表中有id为001的记录,前端新增数据时,id不可重复为001,表中有name为小王的记录,前端新增数据时,name不可重复为小王。二.示例代码:Java代码参考一:/*controller类 添加接口 修改同理*/ @CheckType(Op...原创 2021-05-08 10:27:33 · 5079 阅读 · 0 评论 -
Java (janfal)数据一对多关系处理--分页查询再遍历,遍历数据再去查询数据
1.业务场景:现表中字段是一对多关系,如:id device 4141001 1,2,4,6 4141002 1,2,4,6,8 device(表示不同设备编号)。原创 2021-05-08 10:12:04 · 766 阅读 · 0 评论 -
Java后台如何接收并处理前台传过来的json格式的数组参数
业务场景:在**记录里提高预警设置,要求当点击该记录id显示弹出层进行预警设置,由于记录中某字段含有数组格式[] 包含多个设备,则接口应判断设置该记录id时,得到前台传来的[{}]格式参数,转换json再遍历。先判断表里是否有该id、type存在 ,判断查询是否为0,如为0,则增加新的记录存入表中;如不为0,则修改设置该预警记录。示例代码: public void setStationWarning() { JSONArray params = JSON.parseAr原创 2021-04-30 10:57:46 · 1812 阅读 · 0 评论 -
SQL数据库根据指定字段去重
需求:对一张用户表根据name/email/card_num字段去除重复数据;思路:用group by方法可以查询出'去重'后的数据,将这些数据存储到一张临时表中,然后将临时表的数据存储到指定的表中;误区及解决方案:group by方法只能获取部分字段(去重指定字段),不能一次获取到完整的数据,但是可以通过max函数获取group by结果集中的id,再根据id集合查询出全部的记录。测试思路查询去重后的数据SELECT max(id) as id,name,email,card_num原创 2021-04-26 18:00:59 · 8124 阅读 · 0 评论 -
根据时间段查询sql条件-- Oracle
<select id="getDataList" resultMap="DataInfoDto" parameterType="cn.com.liu.domain.vo.Data"> SELECT lo.HUB_LOCK_ID, lo.HUB_LOCK_NAME, re.APPLY_DATE, re.APPLY_PASS_DATE, re.APPLY_STAT.原创 2021-03-22 16:42:52 · 482 阅读 · 0 评论 -
Mybatis之<trim prefix=““ suffix=““ suffixOverrides=““ prefixOverrides=““></trim>
1.说明 <trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""></trim> prefix:在trim标签内sql语句加上前缀。 suffix:在trim标签内sql语句加上后缀。 prefixOverrides:指定去除多余的前缀内容 suffixOverrides:指定去除多余的后缀内容,如:suffixOverrides=",",去除trim标签内sql语句多余的后缀原创 2021-03-16 09:49:19 · 9884 阅读 · 0 评论 -
2021年面试问题记录
Redis1.什么是缓存穿透?什么是缓存雪崩?如何避免?答:缓存穿透: 一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。一些恶意的请求会故意查询不存在的key,请求量很大,就会对后端系统造成很大的压力。这就叫做缓存穿透。避免方法: 1.对查询结果为空的情况也进行缓存,缓存时间设置短一点,或者该key对应的数据insert了之后清理缓存。 2.对一定不存在的key进行过滤。可以把所有...原创 2021-02-19 17:36:21 · 156 阅读 · 0 评论 -
什么是内存溢出,内存泄漏?以及解决方案
一、Java是如何管理内存的? 在Java中,我们需要通过new关键字为每一个对象申请内存空间(基本数据类型除外),所有的对象都是在堆(Heap)中分配空间的。 在Java中,内存的分配是管理员决定的,但是内存的释放是由GC(Garbage Collection)完成的,这样收支两线的机制确实简化了程序员的工作量。 垃圾回收机制加重了JVM的工作,这也是Java程序执行速度比较慢的原因之一。GC为了能够正确、及时释放不再被引用的对象,GC必须监控每一个对象的运行状态,包括对象的申请原创 2021-02-19 17:24:13 · 2794 阅读 · 1 评论 -
Mysql索引类型及索引相关操作
一、索引定义MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索引包含多个列。创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。实际上,索引也是一张表,该表保存转载 2021-02-19 16:59:24 · 169 阅读 · 0 评论 -
分布式技术原理与实战 学习第二篇
Base 理论定义:Base 是三个短语的简写,即基本可用(Basically Available)、软状态(Soft State)和最终一致性(Eventually Consistent)。Base 理论的核心思想是最终一致性,即使无法做到强一致性(Strong Consistency),但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性(Eventual Consistency)。三要素 基本可用 基本可用比较好理解,就是不追求 CAP 中的「...原创 2020-05-26 13:37:51 · 271 阅读 · 0 评论 -
分布式技术原理与实战 学习第一篇
分布式系统特点核心是可扩展性通过对服务、存储的扩展,来提高系统的处理能力通过对多台服务器协同工作,来完成单台服务器无法处理的任务,尤其是高并发或者大数据量的任务单点故障是指在系统中某个组件一旦失效,这会让整个系统无法工作,而不出现单点故障,单点不影响整体就是分布式系统的设计目标之一无状态是因为无状态的服务才能满足部分机器宕机不影响全部,可以随时进行扩展的需求讲解CAP理论...原创 2020-04-06 21:30:58 · 533 阅读 · 0 评论 -
JQuery完整Ajax示例代码
$(function(){ //请求参数 var list = {}; // $.ajax({ //请求方式 type : "POST", //请求的媒体类型 contentType: "application/json;cha...原创 2020-01-03 15:35:51 · 320 阅读 · 0 评论 -
数据库之多表查询与视图操作
步骤:在上一次的基础上对已经创建的jwg数据库中的数据表进行各种查询操作多表查询1、进行多表查询从student、course、student_course三个表中检索出学生的学号、姓名、学习课程号、学习课程名、课程成绩2、使用union子句进行查询使用union子句可以将一个或多个表的某些数据类型相同的列显示在同一列上3、使用group子句进行查询...原创 2019-12-30 17:04:52 · 4491 阅读 · 0 评论 -
数据库之多表查询与嵌套查询操作
步骤:在单表查询的基础上对已经创建的jwgl数据库中的数据表进行各种查询操作多表查询1、进行多表查询从student、course、student_course三个表中检索出学生的学号、姓名、学习课程号、学习课程名、课程成绩2、使用union子句进行查询使用union子句可以将一个或多个表的某些数据类型相同的列显示在同一列上3、使用group by子句进行查询...原创 2019-12-26 09:46:25 · 2482 阅读 · 0 评论 -
数据库命令行单表查询
步骤:在第一篇数据库操作的基础上对已经创建的jwgl数据库中的数据表进行各种查询操作创建jwgl数据,并恢复备份的jwgl数据库文件,应转到要操作的JWGL数据库创建数据表book录入数据向各数据表中插入相应的数据,具体内容参照jwgl.xls中各表数据。例:向book表中插入一条记录insert into book values(‘dep01_s001_01’...原创 2019-12-25 12:19:50 · 1826 阅读 · 0 评论 -
数据库的定义、表的建立与维护、数据备份(命令行操作)
步骤:数据库工具启动步骤1、启动 桌面上Navicat for MySQL(绿色图标)2、点击连接按钮,弹出如下对话框,直接输入密码root,点击确定。3、右键点击localhost_3306,选择打开连接。弹出如下窗口4、点击工具菜单,选择命令列介面选项或者使用快捷键F6,打开命令行介面。数据库基本操作步骤1、查看MySQL服务器中所有的数据库...原创 2019-12-25 12:17:23 · 706 阅读 · 0 评论 -
ServletContext作用功能详解
ServletContext,是一个全局的储存信息的空间,服务器开始,其就存在,服务器关闭,其才释放。request,一个用户可有多个;session,一个用户一个;而servletContext,所有用户共用一个。所以,为了节省空间,提高效率,ServletContext中,要放必须的、重要的、所有用户需要共享的线程又是安全的一些信息。换一种方式说吧,运行在JAVA虚拟机中的每一个Web转载 2018-01-15 17:21:57 · 261 阅读 · 0 评论 -
史上最简单的 SpringCloud 教程 | 终章
博主地址:http://blog.csdn.net/forezp。方志明博客案例全部采用Spring Boot 1.5.x ,Spring Cloud版本为Dalston.RELEASE我为什么这些文章?一是巩固自己的知识,二是希望有更加开放和与人分享的心态,三是接受各位大神的批评指教,有任何问题可以联系我: miles02@163.com . 码农下载:https转载 2018-01-15 14:49:30 · 2460 阅读 · 2 评论 -
人机猜拳互动游戏
人机猜拳互动游戏 ####游戏规则####1、选取对战角色 根据提示,输入用户的姓名,选择猜拳的对手 2、猜拳 开始对战,用户选择出拳,与对手进行比较,提示胜负信息。 3、记录分数 每局猜拳结束,获胜一方加 1 分(平局都不加分),停止游戏时,显示对战次数 以及对战最终结果。阶段一: 显示游戏信息及选择对战对手, 运行效果如下图所示。 输入: 从键盘接收一个数字 1~3, 代表原创 2017-12-20 17:44:55 · 9158 阅读 · 2 评论 -
java汽车租赁系统代码
简述大一时候的实训项目。 java汽车租赁系统代码 运行结果:控制台: 以上是全部的执行效果。分析我是以数组的形式存储汽车:public class Car { String[ ] name = new String[50]; int[ ] state = new int[50]; String[ ] date=new String[50]; int[] c原创 2017-12-20 11:20:07 · 18609 阅读 · 0 评论 -
此篇仅为献给我尊敬的博友!
本人博客园:http://www.cnblogs.com/liumce/值得一看 人工智障开发基础版小项目 物流管理系统数学竞赛 数学竞赛Server Tomcat v8.0 Server at localhost failed to start 问题解决方法?多次被采纳的解决办法电梯调度算法电梯调度算法.......原创 2017-05-23 09:43:57 · 252 阅读 · 0 评论 -
jsp之认识servlet(基础、工作原理、容器请求处理)
Tomcat 的安装: eclipse 需要自行安装tomcat,这是web 项目运行的服务器。如果用的是MyEclipse,里面自带tomcat,方便清除部署垃圾,利于项目运行。 Tomcat的安装详细步骤: 自行百度! 1、什么是servlet? Sun公司制定的用于拓展web服务器功能的组件规范。 a) Web服务器只能处理静态的请求,不能够处理动态资源请原创 2017-12-20 09:51:21 · 2676 阅读 · 0 评论 -
Java常见的几种排序方法
Java常见的几种基本排序方法:冒泡排序、选择排序、插入排序、归并排序、快速排序提供给大家作为基础掌握!public class ArraySort {/** * 冒泡排序 * @param a 要排序的数组 */ private void bubbleSort(int [] a) { for(int i=a.length;i>0;i原创 2017-06-20 21:54:45 · 825 阅读 · 0 评论 -
Spring发展历程总结
目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢? 既然这样,我们从源头说起。Struts2的源头其实也是Servlet。Servlet的作用是接收浏览器传给服务端的请求(request),并将服务端处理完的响应(response)返回给用户的浏览器,浏览器和服务...转载 2017-05-23 09:41:33 · 3720 阅读 · 0 评论 -
说说Java生态圈的那些事儿
文章目录:1.生态圈概述。2.说说Java,高级Java,Java生态圈的衍生3. 说说servlet、servlet容器、比较tomcat、jetty、tomcat、jboss;1. 哪个项目能离开网络,数据库,操作系统来运行?所以生态圈的应用技术主要在这些知识点处。2. Java组件,组件其实就是一个应用程序块 但是它们不是完整的应用程序,不能单独运行。就有如一辆汽车...转载 2017-05-23 09:39:41 · 4726 阅读 · 2 评论 -
java编程基础篇: 从键盘输入一位整数,代表月份,编程判断指定月份属于一年中的哪个季节
请多指教!原创 2017-04-09 21:09:41 · 4293 阅读 · 4 评论 -
理解JNDI中 java:comp/env/jdbc/datasource 与 jdbc/datasource 的不同之处。
在描述JNDI,例如获得数据源时,JNDI地址有两种写法,例如同是 jdbc/testDS 数据源:A: Java:comp/env/jdbc/testDSB: jdbc/testDS这两种写法,配置的方式也不尽相同,第一种方法应该算是一种利于程序移植或迁移的方法,它的实现与“映射”的概念相同,而B方法,则是一个硬引用。java:comp/env转载 2018-01-15 17:23:13 · 615 阅读 · 0 评论 -
spring配置datasource三种方式
1、使用org.springframework.jdbc.datasource.DriverManagerDataSource 说明:DriverManagerDataSource建立连接是只要有连接就新建一个connection,根本没有连接池的作用。 ${jdbc.driverClassName} ${jdbc.url}原创 2018-01-15 17:26:54 · 13851 阅读 · 1 评论 -
正则表达式学习总结
前期学习Java时,了解了正则表达式,没有深刻了解之后通过视频相关的学习写了一些代码,时隔几月,重新想再把它回顾一遍,今后应该会再次遇到,记下来以便参考。简介:正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。正则表达式是烦琐原创 2018-01-07 20:26:35 · 302 阅读 · 0 评论 -
泛型的拆箱与装箱解读
泛型的拆箱与装箱解读泛型百度百科解读定义分类个人理解及参考解读泛型的使用泛型类泛型接口泛型百度百科解读泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型。泛型类是引用类型,是堆对象,主要是引入了类型参数这个...原创 2019-08-09 21:50:39 · 1366 阅读 · 4 评论