- 博客(35)
- 资源 (2)
- 收藏
- 关注
原创 session会话技术
Session是服务器端技术,服务器在运行时可以为每一个用户的浏览器创建一个独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其他web资源时,其他web资源再从用户各自的session中取出数据为用户服务.总而言之,将数据保存在服务器.request.getSession(true): 获取Session对象,如果没有Session对象,直接创建一个新的返回,缺省值。
2024-02-05 14:11:26
1092
原创 Java设计模式-工厂模式
在本程序之中,最大的问题在于耦合上,发现在主方法之中一个接口和一个子类紧密耦合在一起,这种方法比较直接,可以简单的理解为:A→B,但是这种紧密的方式不方便于维护,所以后来使用了A→B→C,中间经历了一个过渡,这样一来B去改变,C去改变,但是A不需要改变,就好比JAVA的JVM一样:程序→JVM→操作系统。大家应该已经发现了,其实抽象工厂模式如果只有一个组件的话,其实是退化到工厂方法模式,也就是没有了产品族的概念,只剩一一个产品了,因此简单工厂,厂方法,抽象工厂这三者之间是有内在联系的,区别只产品的复杂度。
2024-02-04 10:18:31
999
原创 HashMap底层原理
2)还有一种是在没有红黑树的情况下,添加元素后数组中某个链表的长度超过了8,数组会扩容为两倍(比如创建HashMap集合后刚开始添加元素全都在一个链表中,当链表长度是9的时候数组扩容成32,链表长度是10的时候数组扩容成64,此时再添加元素,满足了数组长度为64链表长度到达8的两个条件,链表转换成红黑树)4、JDK1.8之后,当链表上的节点个数(数据个数)大于等于8时并且数组长度不小于64的时候,链表数据结构自动进行树化转化成红黑树,当链表上的数据小于8个时,又会自动退化成链表。hashmap解析图。
2024-02-02 09:46:31
189
原创 在后台对前端输入的字符长度限制,例如xx名称长度不能超过30,若不做控制数据库会报500异常_在后台对前端输入的字符长度限制,例如xx名称长度不能超过30,若不做控制数据库会报500异常
在Spring 全局异常处理类中处理异常。
2023-04-23 11:33:53
479
原创 springboot和spring使用@Async注意事项
如果不自定义异步方法的线程池默认使用SimpleAsyncTaskExecutor线程池。SimpleAsyncTaskExecutor:不是真的线程池,这个类不重用线程,每次调用都会创建一个新的线程。并发大的时候会产生严重的性能问题。Spring也更加推荐我们开发者使用ThreadPoolTaskExecutor类来创建线程池//设置核心线程数// 线程池维护线程的最大数量,只有在缓冲队列满了以后才会申请超过核心线程数的线程//缓存队列。
2023-04-18 13:54:49
412
原创 Linux 常用命令及用法
使用查找时的其他变化 是:要查找当前目录中使用的文件,请使用 find . -name notes.txt 要查找目录,请使用 /-type d -name notes. txt13. grep 命令无疑对日常使用很有帮助的另一个基本 Linux 命令是 grep。如果要查看其他目录的内容,请键入 ls,然后键入目录的路径。您可以使用 ls 命令使用以下变体:ls -R 还将列出子目录中的所有文件 ls -a 将显示隐藏的文件 ls -al 将列出文件和目录以及详细信息,例如权限,大小,所有者等。
2023-04-11 14:36:12
169
原创 SpringCloud+MyBatis分页处理(前后端分离)
pageNum 和 pageSize 用于前端分页的参数,pageNum:表示页码第几页,pageSize:表示每页展示数据数量。所有查询条件参数,在mapper-xml里进行处理,再利用数据库oracle本身的rownum行值进行分页。缺点:访问数据库过于频繁,未利用到mybatis本身的缓存优势。优点:利用了mybatis缓存机制,分页查询快速,减少数据库访问次数。缺点:当数据量大的时候,100W+;这种方法对于前端而言是没变化,无感的。controller接口不变。controller接口。
2023-04-11 14:21:47
337
原创 解决日志时间与服务器系统时间差8小时
1、设置服务器时区 vi /etc/profile export TZ=‘Asia/Shanghai’2、使文件生效 source /etc/profile。3、date -R 查看服务器时间和系统时间一致。4、重启项目,查看日志时间和服务器时间一致。
2023-04-07 13:29:50
775
原创 字符串转化为list
certNameList = “certNameList”: “消防设施工程专业承包二级,地基基础工程专业承包一级,电子与智能化工程专业承包一级,建筑装修装饰工程专业承包一级,建筑幕墙工程专业承包一级”,结果: “certNameList”: [“电子与智能化工程专业承包一级”,“建筑装修装饰工程专业承包一级”,“消防设施工程专业承包二级”,“地基基础工程专业承包一级”,“建筑幕墙工程专业承包一级”
2023-03-29 08:58:18
1903
原创 Linux服务器12小时制转24小时制
给Linux部署执行定时同步jar包的服务的时候,发现部署的Linux服务器是12小时制的,导致定时在23点执行一次的服务,在上午11点和晚上23点都执行了。我发现ntpdate不适用于centos8服务器,然后尝试使用chrony,结果又遇到同步仓库 ‘AppStream’ 缓存失败的问题。执行完上面的操作之后,jar包中的时间还是12小时制,这时可以尝试重启jar包,查看是否还是12小时制。注意:不同Linux对应的数字不一样。8、重启自己的jar包,查看输出日志是否时间已变成正常的24小时制。
2023-03-28 09:06:49
2493
原创 java判断jsonarray是否为数组_java-测试它是JSONObject还是JSONArray
" “certScope”: “电子与智能化工程专业承包壹级,地基基础工程专业承包壹级,建筑装修装饰工程专业承包壹级,建筑幕墙工程专业承包壹级,消防设施工程专业承包贰级”,\n" +" “certScope”: “电力行业变电工程丙级,电力行业送电工程丙级”,\n" +" “certName”: “地基基础工程专业承包一级”\n" +" “category”: “设计资质”,\n" +
2023-03-27 10:51:55
814
原创 【spring】@ComponentScan详解&@SpringBootApplication的scanBasePackages属性
spring注解
2022-12-07 20:55:26
5538
1
原创 getCurrentSession与openSession的区别
getCurrentSession与openSession的区别一:getCurrentSession () 使用当前的 session注意:1,使用 SessionFactory.getCurrentSession() 需要在 hibernate.cfg.xml 中如下配置:如果采用 jdbc 独立引用程序配置如下:thread如果采用了 JTA 事务配置如下jta2,使用的是 getCurrentSession 来创建 session 的话,在 commit 后,session 就自动被
2021-08-15 22:02:47
140
原创 集合基础小结
List:有序、可重复。通过索引查找快,增删速度慢 (操作时后续的数据需要移动)。Set:无序、不可重复的集合。Map:键值对、键唯一、值不唯一。Map 集合中存储的是键值对,键不能重复,值可以重复。根据键得到值,对 map 集合遍历时先得到键的 set 集合,对 set 集合进行遍历,得到相应的值。二、具体对比:ListArrayList 底层是数组,查询快,增删慢,线程不安全,效率高;Vector 底层是数组,查询快,增删慢,线程安全,效率低;LinkedList..
2021-08-15 08:04:45
88
转载 关于Java的File.separator
在Windows下的路径分隔符和Linux下的路径分隔符是不一样的,当直接使用绝对路径时,跨平台会暴出“No such file or diretory”的异常。比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写:File file1 = new File (“C:\tmp\test.txt”);在Linux下则是这样的:File file2 = new ...
2020-04-10 15:21:47
61
原创 react——传递 Props
React 里有一个非常常用的模式就是对组件做一层抽象。组件对外公开一个简单的属性(Props)来实现功能,但内部细节可能有非常复杂的实现。可以使用 JSX 展开属性 来合并现有的 props 和其它值:return <Component {…this.props} more=“values” />;如果不使用 JSX,可以使用一些对象辅助方法如 ES6 的 Object.ass...
2020-04-10 15:01:54
430
原创 java基础
split()方法根据匹配给定的正则表达式来拆分字符串。Iterator的三个主要方法1.1 Boolean hasNext();判断 iterator 内是否存在下1个元素,如果存在,返回true,否则返回false。(注意,这时上面的那个指针位置不变)1.2 Object next();返回 iterator 内下1个元素,同时上面的指针向后移动一位。故,如果不断地循环执行next...
2020-04-10 14:58:15
131
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人