Java

Java操作ElasticSearch

  需要注意ES暴露的http服务端口是9200,TCP通讯端口是9300,也就是Javaclient操作ES需要连接9300端口。  Java项目中操作ES可以用ES的客户端 TransportClient、RestClient;springboot项目可以用SpringDataElasticsearch(...
代码星球·2020-08-27

Spring中的aware接口&BeanFactory和FactoryBean区别

  Aware接口是为了使bean能够感知到自身的一些属性,例如BeanNameAware接口是为了让自身Bean能够感知到,获取到自身在Spring容器中的id属性;ApplicationContextAware接口能够获取到ApplicationContext,实现了BeanFactoryAware接口的类能够获取...

事件监听器模式与Spring事件机制

  比如监听门开关改变事件以及name改变事件。1.事件相关类抽象门事件packagecn.qlq.event.base;importjava.util.EventObject;publicabstractclassDoorEventextendsEventObject{privatestaticfinallongse...

深入分析JavaWeb的中文编码问题

 1.为什么需要编码?(1)在计算机存储信息的最小单位是1个字节(byte),即8个bit,所以能表示的字符范围是0-255个。(2)人类要表示的符号太多,无法用1个字节来完全表示。  要解决这个矛盾必须要有一个新的数据结构char,而从char到byte必须编码。2.如何编码在计算机中提供了多种编码方式,常...

element+springboot实现简单的商品管理

  element是饿了么团队开发的PC端用的基于vue的框架,之前在写app端的时候用的是MintUI(饿了么团队)、vux(这个比较好用)。  element官网: https://element.eleme.cn/#/zh-CN  在这里直接下载git上别人写好的: vue-admin-tem...

springboot+thymeleaf自定义标签

  一般的标签无非就是两种,第一种是我们向标签输出内容(类似于th:each)。第二种就是根据标签是否显示标签内部的元素(类似于th:if)。1.第一类控制标签内容是否显示的标签  这种分为两种,一种是作为标签,一种是作为属性。如下:<mytag:displayelename="1">这里看的到</m...

springboot整合shiro&shiro自定义过滤器

  关于shiro的简介与使用方法在shiro分类中已经使用过了,而且在spring中已经成功的整合了shiro。下面研究springboot+thymeleaf中使用shiro。  spring整合shiro参考:https://www.cnblogs.com/qlqwjy/p/7257502.html  sprin...

制作自己的javaweb镜像

 1.拉取tomcat镜像并基于tomcat构造自己的镜像   tomcat镜像的运行需要用到java,所以tomcat的镜像包含了JDK,我们不用单独拉取JDK。(1)到网站 https://c.163.com/hub#/library/search?keyword=tomcat&nbs...

java对文件的二进制流base64编码解码

一般保存文件的时候选择的方式是将url存进数据库。今天遇到一个对接传文件流的二进制base64编码,简单记录一下。 依赖于commons-io包和commons-codec包。 编码的方法如下:publicstaticStringencodeFile(Filefile)throwsIOExcepti...

WebSocket的简单认识&SpringBoot整合websocket

  WebSocket是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议。  WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocketAPI中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。  在Web...

Java正则表达式

 研究一下正则表达式的用法。java中正则表达式还是非常常见的。最常用的就是字符串切割,或者判断系统某一设置是否满足指定的格式。正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。在其他语言中,\ 表示:我想要在正则表达式中插入一...
代码星球·2020-08-27

Java计算工作日的工具类

  有时候需要根据工作日计算指定的日期,也就是需要排除周六日。 1. 初版代码如下:packagecn.xm.exam.utils;importjava.util.Calendar;importjava.util.Date;importorg.apache.commons.lang.time.Dat...
代码星球·2020-08-27

Effective.Java第78-90条(同步相关)

78. 同步访问共享的可变数据  为了在线程之间进行可靠的通信,也为了互斥访问,同步是必要的。  不共享可变的数据。要么共享不可变的数据,要么压根不共享。换句话说,将可变数据限制在单线程中。  当多个线程共享可变数据的时候,每个读或写数据的线程必须执行同步。如果没有同步就无法保证一个线程所做的修改被另一个线程...

Java内省

  内省(Introspector)是Java语言对JavaBean类属性、事件的处理方法。  例如类User中有属性name,那么必定有getName,setName方法,我们可以通过他们来获取或者设置值,这是常规操作。  Java提供了一套API来访问某个属性的getter/setter方法,这些API存放在jav...
代码星球·2020-08-27

Effective.Java第67-77条(异常相关)

67. 明智审慎地进行优化  有三条优化的格言是每个人都应该知道的:(1)比起其他任何单一的原因(包括盲目的愚钝),很多计算上的过失都被归咎于效率(不一定能实现)(2)不要去计算效率上的一些小小的得失,在97%的情况下,不成熟的优化才是一切问题的根源。(3)在优化方面,我们要遵守两条规则:规则一:不要进行优化...