![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 61
坐的我尾巴骨疼
这个作者很懒,什么都没留下…
展开
-
StampedLock原理及使用
1.8之前,锁已经那么多了,为什么还要有StampedLock? 一般应用,都是读多写少,ReentrantReadWriteLock 因读写互斥,故读时阻塞写,因而性能上上不去。可能会使写线程饥饿 StampedLock的特点 所有获取锁的方法,都返回一个邮戳(Stamp),Stamp为0表示获取失败,其余都表示成功;所有释放锁的方法,都需要一个邮戳(Stamp),这个Stamp必须是和成功获取锁时得到的Stamp一致;StampedLock是不可重入的;(如果一个线程已经持...原创 2021-11-20 21:34:49 · 154 阅读 · 0 评论 -
JVM学习一
JVMhttps://mp.weixin.qq.com/s/z5ZDzlIB1w2VhlVW_tLviwhttps://zhuanlan.zhihu.com/p/34426768一、JVM是什么?JVM全称为Java Virtual MAchine-Java虚拟机。一次编译,多次运行。JVM是java上的一个虚构出来的计算机,是一个位于Java与操作系统之间的中间态。有自己完善的硬件结构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM的五大结构:类装载器(ClassLoade原创 2020-08-10 17:49:25 · 250 阅读 · 0 评论 -
SpringBoot整合Jedis
SpringBoot 内默认引用了jedis版本。所以我们直接引入jedis 依赖 无需在配置 jedis的版本号了。一、引入jar包,pom文件 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.2.0</ve原创 2020-06-18 11:27:18 · 1428 阅读 · 0 评论 -
Vue+Session+Interceptor实现会话登录超时重新登录
原理:session会话存储在服务器上,过期时间为30分钟,在login操作时,给session设置值,在springmvc拦截器中进行登录拦截,判断session是否存在,存在放行,不存在请求报错,返回401,前端捕获异常401,进行页面的重新跳转,重新登录。@RestController@RequestMapping("/login")public class Login11Controller { @Autowired private LoginService loginS原创 2020-06-05 13:06:31 · 2690 阅读 · 0 评论 -
Vue和poi实现Excel文件导入数据
介绍1.前端使用ElementUi的<el-upload>组件,前端的框架无所谓,iview也可以,upload里面的方法都类似 action提交地址,自己设置; 我的里面用了cookie,不用把它去掉,后端也要修改 判断文件的大小,和格式是否是Excel<template><div style="margin: 20px 30px"> <el-upload class="upload-demo" :ac...原创 2020-06-04 11:12:58 · 1038 阅读 · 0 评论 -
Java判空和值比较
Java判断List是否为空 public static void main(String[] args) { List<Role> roleList = new ArrayList<>(); //已经实例化roleList!=null if(roleList==null){ System.out.println...原创 2020-04-24 10:46:36 · 554 阅读 · 0 评论 -
Redis系列学习:一、初识Redis
系列文章是个人的读书笔记,极力推荐《Redis开发与运维》,已买很香。目录第1章 初识Redis1.概念2.redis特性3.Redis使用场景4.Redis的建议第1章 初识Redis1.概念 Redis是一个开放源代码(BSD许可)的内存中数据结构存储,用作(NoSQL)数据库,缓存和消息代理。它支持数据结构,例如字符串,哈希,列表,集合,带...原创 2020-04-09 14:10:03 · 556 阅读 · 0 评论 -
idea中maven创建web项目教程(超级详细)
idea中maven创建web项目教程(超级详细) 转载:https://blog.csdn.net/Austin_/article...转载 2020-03-20 16:36:27 · 2457 阅读 · 2 评论 -
URL中的参数获取时乱码问题以及参数传递问题
URL中的参数获取时乱码问题以及参数传递问题中文变奇怪字符,如:ä½ å¥½ 或者 ÄãºÃ"你好Java" ------> "ä½ å¥½Java"原字符串:“你好Java”你好Java4f60597d4a617661经UTF-8编码后,一个中文用三个字节表示:你好Javae4 bd a0e5 a5 ...原创 2020-01-15 16:09:41 · 274 阅读 · 0 评论 -
表单和POST提交数据序列化,GET不需要序列化
Submit提交表单数据序列化 get是将未加密的明文数据追加到url后面提交,post是将未加密的明文数据封装到请求体。所以说这两种方式虽然一个是在url可见一个不可见,但严格意义上都是不安全的,想要安全只能使用https。无论是submit还是ajax都是这样的。 submit提交的数据属于默认提价方式,所以submit的get和post都是经过序列化后的可以被直接识别,并且序...原创 2020-01-07 13:06:30 · 1466 阅读 · 0 评论 -
前后端分离
1.前后端分离优缺点(1)为什么要前后端分离(优点):PC、APP、PAD多端适应 SPA开发模式开始流行 前后端开发职责不清 开发效率问题,前后端互相等待 前端一直配合着后端,能力受限 后台开发语言和模板高度耦合,导致开发语言依赖严重(2)前后端分离缺点前后端学习门槛增加 数据依赖导致文档重要性增加 前端工作量加大 SEO(搜索引擎优化)的难度增大 后端开发模式迁......原创 2022-08-11 11:44:52 · 172 阅读 · 0 评论 -
散列表原理与应用场景
散列表的原理和hash函数、解决hash冲突的方法,装填因子、hash性能、应用场景哈希表(散列表)查找定义想象一个场景,如果想在一个学校中找出一个叫王五的学生,一般思路是去学生处把全校的学生名单列表拿出一个,一个一个的查找,这种方法就是普通的顺序查找,依赖的是姓名关键字的比较。如果你恰巧遇见了一个王五班里的同学张三,他就直接可以带你去找到王五同学,这样就不需要去遍历比较姓名,就可以直...原创 2019-11-23 10:06:37 · 1222 阅读 · 1 评论 -
京淘系统分布式开发流程
京淘系统分布式开发流程资源????https://download.csdn.net/download/qq_39038793/119570271.技术:主要使用SSM、redis、nginx等参照.pom文件2.创建主要的一个maven项目选择为pom的格式,名字为jt这是父级的maven项目,打包方式为pompom.xml文件防止整个jt项目的全部dependency&l...原创 2019-11-04 20:18:52 · 455 阅读 · 0 评论 -
实现图片文件上传保存到本地 MultipartFile
MultipartFile对上传的图片进行处理;处理大量图片/** * 1.判断文件是否为图片 jpg|png|gif * 2.防止恶意程序 高度和宽度判断 * 3.图片分文件保存 分布式fast|yyyy/MM/dd * 4.修改文件名称,防止重名 UUID...原创 2019-11-01 14:33:03 · 4318 阅读 · 5 评论 -
代理设计模式
一、设计模式简述概念:设计模式(Design Pattern)简单的讲就是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。 1995 年,GoF(Gang of Four,四人组/四人帮)合作出版了《设计模式:可复用面向对象软件的基础》一书,共收录了 23 种设计模式,从此树立了软件设计模式领域的里程碑,人称「G...原创 2019-10-17 09:07:43 · 118 阅读 · 0 评论 -
运用BufferedInputStream和BufferedOutputStream实现文件内容的复制,中间可以使用用一个byte数组作为缓冲。
package shiyan4;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.Fil...原创 2018-06-03 21:51:56 · 1265 阅读 · 1 评论 -
从标准输入键盘读取多行内容,通过文件字符流将读取的内容输出到指定文件,并关闭输入/输出流
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;public class FileRW { pu...原创 2018-06-03 21:53:23 · 1273 阅读 · 0 评论 -
Java中Properties类
一、Java Properties类 Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改变的,这样做也是为了方便用户,让用户能够脱离程序本身去修改相关的变量设置。在Java中,其配置文件常为.properties文件,格式为文本文件,文件的内容的格式是“键...原创 2019-03-09 09:16:11 · 152 阅读 · 0 评论 -
根据学生的年龄和学号进行排序
创建一个Student的类里面有Id、Age 、Name根据年龄排序,若年龄相同比较学号。import java.util.ArrayList;import java.util.List;//Student类包含学号、姓名、年龄class Student { private int id; private String name; private int...原创 2019-04-20 17:15:55 · 1917 阅读 · 0 评论 -
Java连接数据库实现用户登录密码验证
目录结构图:1.在store_db数据库中创建一个t_user表;在domain包中创建一个User的类:package com.xxf.domain;public class User { private Integer id; private String username; private String password; private String emai...原创 2019-05-07 21:23:59 · 20102 阅读 · 3 评论 -
编写一个Java应用程序。用户从键盘输入一个1~99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223
编写一个Java应用程序。用户从键盘输入一个1~99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。import java.util.Scanner;//引入Scanner类public class palindrome { public static void main(S...原创 2018-04-10 21:20:47 · 8749 阅读 · 0 评论