- 博客(47)
- 收藏
- 关注
原创 JDK自带的开发者工具
引用一下百度百科对JDK的定义:JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。 接下来我们就主要看JDK自带的JAVA工具。 查看JDK安装目录的bin目录,就可以看到所有的JDK提供的开发者工具了。可以看到,总共有48个工具,这么多的工具,不可能我们每个工具都可以用的上,接下来就看我们可能会用到的一些工具吧。...
2022-06-12 15:02:39
816
原创 SpringBoot 2.6.* 整合springfox 3.0报错问题解决
一、问题现象SpringBoot版本:2.6.4springfox swagger版本:<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version></dependency>启动之后报错:org...
2022-03-27 16:16:43
10820
2
原创 设计模式之工厂模式
一、什么是工厂模式工厂模式属于创建型模式,提供了一种创建对象的方式。对于创建对象,最简单的创建对象方式莫过于直接new一个对象,对于简单对象,这确实是一个简单快速的方式,但是对于一个复杂对象的创建而言,就不是那么适合了。因为使用者需要对这个对象非常了解,才能创建出符合要求的对象。实际上,工厂模式把对象的创建和对象的使用隔离开了。举个例子:线程池Executors.newFixedThreadPool(int nThreads) 方法返回了一个ThreadPoolExe...
2022-03-20 14:04:17
455
原创 redis集群模式
集群模式的简单介绍redis集群模式同样也具有高可用特性,相对于哨兵模式,集群模式的吞吐量更大。集群模式通过将数据分片,不同的key做CRC16运算后存放不同的槽,在有新的节点加入集群时,只需要将其他节点的部分哈希槽移动到这个新的节点即可。集群模式有多个主节点,每个几点可以有多个从节点。主节点与从节点直接进行主从复制。当某个主节点下线时,从节点将会升级为对应的主节点。在下面两种情况下,整个集群将处于不可用状态:某个主节点下线,而且这个主节点没有可用的从节点(从节点不存在或者从节点也下线了)
2021-02-21 18:56:40
139
原创 redis哨兵模式
redis主从复制结构不支持高可用特性,使用redis哨兵模式可以提供redis服务的高可用。当主节点宕机时,由哨兵完成故障发现与转移,并通知客户端,从而实现高可用。哨兵模式的基本原理redis哨兵(以下称sentinel)是一个分布式系统,可以支持单节点部署,也可以支持多节点部署,为了保证sentinel自身的高可用,建议使用多节点部署。redis sentinel通过监控redis主节点、redis从节点以及其他sentinel,当发现指定节点没有在规定的时间内产生回应时,产生“主观下线”。
2021-02-21 17:27:00
168
原创 redis主从模式
上文讲解了单节点redis的安装部署与配置,为了提升redis服务的性能,可以使用主从模式从而实现读写分离:主节点负责写,从节点读。主从模式的搭建机器清单:节点 角色 主机名 ip 节点1 主节点 node1 192.168.70.129 节点2 从节点 node2 192.168.70.133 主节点不需要进行额外的配置,启动主节点并使用客户端进行连接,执行命令info replication,可以看到主从节点相关信息:
2021-02-21 16:40:28
258
原创 redis持久化策略
redis是内存型数据库,但是依然可以将数据持久化到磁盘中,避免数据因为宕机、重启等原因丢失。redis的持久化策略包括两种,分别是RDB和AOF。RDB持久化RDB是Redis Database的简称,RDB在指定的时间间隔和执行写操作的次数,将内存中的数据快照保存到文件dump.rdb文件中,当redis重启时,读取dump.rdb文件,并将数据恢复到内存中。RDB相关的配置依然是在redis.conf文件中,定位到SNAPSHOTING,可以看到关于RDB保存策略、保存文件名称、保存文件的
2021-02-21 15:09:37
252
原创 redis单节点安装与配置
redis是应用广泛的基于内存又可持久化的缓存技术。redis不仅可以做缓存使用,而且可以充当分布式锁、排名等使用。下面介绍redis单节点模式的安装部署和配置。执行以下命令来获取redis安装包并编译:wget https://download.redis.io/releases/redis-5.0.8.tar.gztar -zxvf redis-6.0.10.tar.gzcd redis-6.0.10make默认情况下,redis是不在后台运行的,因此需要修改redis的配置文件
2021-02-21 14:48:28
1578
2
原创 linux系统突破局部文件句柄数和全局文件句柄数限制
问题说明: 在linux系统中,如果开的线程数过多,或者打开的文件太多,会报这样的错误:java.io.IOException: Too many open files。意思是系统能够打开的句柄数已经达到了限制,无法打开新的文件句柄了。突破局部文件句柄数(单个进程能够创建的文件句柄数): 查看当前局部文件句柄数:ulimit -n 临时修改当前局部文件句柄数:uli...
2020-03-06 15:33:20
775
原创 前端用AJAX提交参数+文件,后端用SpringMVC接收
一般我们需要上传文件的地方,都需要一个form,但是我觉得使用ajax的方式更加方便一点。而且上传文件的时候,我们常常也需要提交表单,这个时候,就需要进行一点特殊的处理了。 直接上代码(前端HTML):<form id="form_save_stu" class="form form-horizontal" enctype="multipart/form-data...
2019-03-13 15:59:31
835
2
原创 【第二篇】定时任务之旅(SpringBoot+JPA+BootstrapTable+Quartz实现)
在上一篇中把基本的动态定时任务使用讲了一下,接下来就来实现一个动态任务平台,它长这样: 这个页面虽然不是很复杂,但是基本功能都健全,包括任务的CRUD,这是最基本的,然后有一个状态栏显示任务的运行状态,同时提供任务的启动与暂停操作按钮,可以说能否符合一般需求。 页面使用SpringBoot官方钦定的thymeleaf,但是没有使用到任何thymeleaf模板方面的东...
2018-10-18 16:25:02
986
原创 【第一篇】定时任务之旅(SpringBoot+JPA+BootstrapTable+Quartz实现)
在Java项目中,定时任务是很常见的,今天我们就来实现一个动态定时任务平台。 首先简要介绍一下quartz,quartz直接翻译过来就是“石英”的意思。Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂...
2018-10-18 16:08:00
1003
原创 Vue项目与nginx部署跨域问题
目录Vue项目的跨域问题:Vue项目部署到nginx上的跨域问题解决Vue项目的跨域问题: 在使用Vue构建的前端工程中,访问本地不同ip与端口,都会存在跨域问题,下面给出一个使用代理解决的办法: 在config目录的index.js文件中,添加: proxyTable: { '/api':{ target:'ht...
2018-07-20 16:01:01
10147
原创 css遮罩--点击非弹出层隐藏弹出层
初看这个标题有点绕口,其实意思就是说,当在页面上点击一个按钮时,弹出一个弹出层,然后如果想关闭这个弹出层怎么办呢,一是可以点击弹出层容器包含的一个关闭按钮,另外一个就是点击遮罩层。 来张图来说明吧: 其实这种需求在移动端是很常见的,那么如何来实现呢,最重要的一点就是css的一个属性:z-index,当z-index越高,则表示越处于表层,...
2018-07-03 15:59:24
4323
1
原创 vue项目部署运行到tomcat上
使用webstrorm开发vue前端工程项目时,使用命令npm run dev开启服务,可以通过访问电脑IP:电脑端口实时预览页面,当时我在想使用手机端来调试页面时,发现即使手机与电脑处于同一局域网环境下,仍然无法访问。 这就很奇怪了 ,平时只要我的电脑和手机处于同一局域网环境下,使用手机访问电脑IP:电脑端口/项目名,就可以正常访问,现在却不行,结果去网上搜索,普遍的一个解决办法是...
2018-07-03 15:15:08
51935
原创 记一次form标签引发的惨案
最近在看WebSocket,于是自己动手搭了一个demo,前后台都搭建完了,连接没问题,断开连接也没有问题,但是就是发送信息时,连接会自动断开,这真是奇怪了,而且后台没有报任何错误! 首先我还没只是认为是连接断开了,后来经过认真观察发现,不是连接断开,而是页面的刷新导致WebSocket连接断开,这就更奇怪了。 当时的页面是这样子的: 当时...
2018-06-22 17:56:38
266
2
原创 打开.properties中文显示unicode编码
在使用eclipse编辑application.properties文件时,发现输入中文但是显示的却是unicode编码。就像下面这样: 解决办法:右键该文件->properties,如下图: 看到编码时默认的ISO-8859-1,接下来把编码格式改成UTF-8就正常了。...
2018-06-20 10:27:52
15112
原创 Spring Boot 使用mybatis-generator自动生成代码
用过mybatis的肯定知道,自动动手写映射文件工作量比较大,而且容易出错,使用mybatis-generator就可以很好的解决这个问题,使用Spring Boot框架,网上一般给的一般都是使用idea给出的例子,现在我给个在eclipse下的例子: 先看application.yml的配置:spring: datasource: url: jdbc:m...
2018-06-19 15:31:51
611
1
原创 eclipse自动创建Spring Boot项目报错
eclipse安装了STS插件后,可以快速创建一个Spring Boot的项目,我在本机上使用向导自动创建了一个基于SpringBoot的项目后,发现项目报错,截图如下: 解决办法:更换Spring Boot的版本。由2.0.3.RELEASE改成其他版本,比如2.0.2.RELEASE...
2018-06-19 14:47:20
3790
转载 SpringBoot 使用DevTools进行热部署
使用Spring Boot 开发阶段,经常需要修改代码以及一些资源文件,修改之后要查看结果又要重启服务器,这样不仅麻烦,而且耗时间,使用Dev Tools就可以自动检测变动的字节码文件,在热加载时,仅仅加载有变动的文件,这样不需要手工操作,而且节约时间。 使用方法: maven: <dependency> <groupId>org.sprin...
2018-06-19 08:48:58
190
原创 django使用前端分页插件
对很多后端开发者来说,复杂的前端并不好搞定,但是我们可是使用一些开源的前端插件,今天分享一下django使用前端分页插件。首先,找一个分页插件,http://www.jq22.com/jquery-info15113,,看一下这个分页插件的用法:那么我们就开始使用这个插件来展示我们的分页数据了。主体思想是:用户在点击分页的页码时,向后台发送请求,并携带页码参...
2018-04-30 20:09:46
1827
1
原创 Django的form表单和ajax
在web开发中,表单提交是一个很常见的功能,在django中,使用form表单提交较为简单,需要注意在表单中添加{% csrf_token %},如果不想这样做,也可以在对应的view方法中添加装饰器@csrf_exempt,强制不使用csrf认证。如果是ajax提交表单,则相对复杂一些,在ajax提交时,除了提交你的表单内容数据,还要添加一个请求头数据, headers:{"X-...
2018-04-30 17:31:02
2652
1
原创 使用PyCharm导入django项目时某些包下载不了
先描述下问题:使用PyCharm导入一些django开源项目时,打开requirements.txt,里面有该项目使用到的依赖包,如下图所示:我么可以通过点击红圈圈中的Install requirement来安装所需的包,但是,经常会发现某些包安装失败,如下图所示:解决方法如下:1.首先在该项目的同级文件夹下创建一个虚拟环境,以免影响其他的环境,创建命令(windows):virtualenv v...
2018-04-19 19:34:58
1444
原创 戴尔笔记本插入耳机没有反应
戴尔笔记本,之前插入耳机会弹出这样的一个框,如下图所示:选择耳机之后就可以使用耳机了,但是后来不知道是因为什么原因,插入耳机不再弹出这个框了。解决办法:查看状态栏图标,打开,如下图所示,然后点击“高级”点击之后,如下图所示,去掉勾选“连结设备时显示弹出对话框”,使其不在选中状态,关闭掉。然后再重新打开这个界面,重新勾选“连接设备时显示对话框”,是其处于选中状态。好了,完全关闭这个界面,这个时候插入...
2018-04-19 19:32:25
40435
23
原创 AspectJ实现AOP(注解方式)
上一篇讲到了使用xml配置方式来实现AOP,相对于xml配置方式,使用注解方式用起来会更方便一点,下面就来实现以下如何使用注解方式来实现AOP。pom.xml和上一篇一致,不再赘述。先看Login.java:package userService;import org.springframework.stereotype.Component;@Componentpublic
2017-11-25 17:38:17
815
原创 AspectJ实现AOP(xml配置方式)
AOP是一种编程思想,相对于OOP来说,AOP更关注于某一种功能广泛应用于多个功能,比如说事务管理、日志记录等。举个例子,假如我要在用户登录前记录日志,还要在用户进行某种操作前也记录日志,还要在...前记录日志,那么是不是要在这些功能的实现里面都要加上一个记录日志的操作呢?那么,假如记录日志的操作发生了某些变动,那么是不是每个实现都要进行改动?太麻烦了。所以,为了解耦,降低编程的重复性,这个时
2017-11-25 15:56:06
894
原创 Hibernate之单向一对多映射(使用maven构建)
在实际开发中,一对多的例子有很多,比如一个部门对应多个员工,这就是一种典型一对多的关系,在Hibernate中使用一对多映射可以使用一方来管理多方,这显然是很方便的。在本例中,使用了2个实体,一是员工employee,另外一个是部门department。首先创建2张表:接下来就是创建一个project了,整个工程的骨架如下图所示:先看pom.xml:<project
2017-10-08 20:06:47
318
原创 【第二篇】 搞定BootstrapTable(后端使用SpringMVC+Hibernate)
还是那句老话,好记性不如烂笔头。上次已经将最基本的BootstrapTable的查询做出来了,现在将功能完善一下,添加包括删除用户、添加用户、修改用户信息、按条件查询用户的功能。好了,废话不多说,让我们开始吧!先看jsp文件:index.jsp: Bootstrap-table样例演示 新增
2017-09-08 22:46:10
4648
3
原创 【第一篇】搞定BootstrapTable(后端使用SpringMVC+Hibernate)
还是那句老话,好记性不如烂笔头。记得以前的一个Demo项目里面有分页,但是没有用插件,自己手写的分页处理,但是效果并不是很好,最近接触到插件BootstrapTable,风格和Bootstrap统一,现在就来说说怎样使用它。初上手,直接套json数据进去,然后设置分页方式为client',很快表格就做出来,但是一般项目中都是使用后台来进行分页的,不可能一下从数据库从捞出成千上万条数据,先不说流
2017-09-05 22:23:07
7569
3
原创 PL/SQL的配置
相信用过oracle的人基本都知道PL/SQL这个软件吧,但是PL/SQL的配置却不是一步性的,下面就将PL/SQL的配置说明一下。首先有一点说明一下,我的oracle是Database 11g快捷版,并不是一个100+M的客户端,当然仅仅使用客户端而没有安装oracle的数据库的,也可以参考配置,毕竟都差不多。首先我下载的解压版的,解压之后,首先设置环境变量:NLS_LANG
2017-08-15 23:10:40
963
原创 ckeditor的使用
Ckeditor编辑器使用的非常广泛,现在总结一下ckeditor最基本的使用方法。首先下载ckeditor,然后将文件夹放大WebRoot根目录下或者某个文件夹下。在使用到的页面先引入: 这里同时也引用到了jQuery,因为后面使用AJAX传输数据会方便一些。在要使用到ckeditor
2017-06-04 10:15:38
1437
原创 jspSmartUpload上传与下载
在没有使用框架的情况下,我们可以借助jspSmartUpload之类的插件来进行上传和下载操作,下面就以jspSmartUpload为例,来讲一下怎么使用它来进行上传与下载操作。第一步,下载jspSamrtUpload.jar,并添加到构建路径。值得注意的是某些jspSmartUpload.jar包对中文的支持不够,网上有一些经过改编的jspSmartupload.jar包,可
2017-06-04 10:07:49
776
1
原创 使用My97DatePicker显示网路日历
我们经常会看到博客主页有一个网络日历,现在我们使用My97DatePicker来实现一下这个功能。首先是下载My97DatePicker包,然后将整个文件夹复制到WebRoot目录下,并在要使用到的jsp文件引用。注意文件夹的位置不要写错了。 然后是jsp页面上需要网络日历的地方添加代码当然,这个width和
2017-06-04 10:04:39
757
原创 url传递中文乱码问题
在这种情况:servlet传递中文参数变量时,在jsp页面接收参数将会发生乱码问题,实际上,在地址栏上,servlet返回jsp的url此时本身就是乱码的,造成这种情况的原因是url传递的某种规则,下面讲一下如何解决这一问题。servlet代码:String name = request.getParameter(“name“); Name = java.net.URLEncod
2017-06-04 10:00:38
498
1
原创 使用AngularJS完成一个简单的todoList
最近在学习AngularJS,做了一个非常非常简单的todoList,怎么个简单法呢,就是连css都没用,其实我认为给新手看就不要用什么css了,直接把功能代码摆在最显眼的位置,一目了然;这个todoList不仅页面简单,功能也非常简单,所以这篇文章完全是针对新手来的。不多说,先上图。那么怎么用AngularJS来做这样一个页面呢,先上代码,再来分析。
2017-03-11 20:29:51
2320
1
原创 解决项目运行出现Java Platform SE binary已停止运行
项目运行出现Java Platform SE binary已停止运行,就像下面这张图一样, 看了网上很多的解决方法,然后重装jdk,重装eclipse,都没用。最后,又网友说可能是显卡
2017-03-02 19:20:12
18340
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人