![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
水越帆
当知识撑不起理想的时候,应该静下心学习。
展开
-
Andriod和java后台通信加密----RSA+AES加密通信
安卓apk反编译的问题很让人头疼,对于一些机密的数据,不加密传输要是被提取出来是会造成巨大损失,研究了两种方式(相似的)第一种:1首先需要有一对RSA的公钥和私钥 , 然后私钥留在服务器,公钥随apk发布(即安卓端写成文件,用的是时候读取,我感觉不是绝对安全,但相对方便);2 通信的时候,首先由android端,随机生成一个字符串作为AES加密算法的key,用AES加密算法来加密与服...原创 2020-03-30 16:42:28 · 779 阅读 · 0 评论 -
解决接口怎么避免多个人同时访问取到相同的数据
一.简单粗暴,直接使用 @Transactional 或者synchronized二.使用阻塞队列 如BlockingQueue1 BlockingQueue概述:BlocingQueue,顾名思义:<font color=red>阻塞队列</font>.BlockingQueue是在java.util.concurrent下的,因此不难理解,Blocking...原创 2020-03-12 15:40:22 · 1389 阅读 · 0 评论 -
解决SpringBoot使用war打包后运行javax.websocket.server.ServerContainer not available报错问题
今天拿到个war包,用Tomcat启动时报错:Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serverEndpointExporter' defined in class path resource [org/xx/config/We...原创 2020-01-06 15:18:59 · 3991 阅读 · 1 评论 -
Java将文件夹内二维码内容解析成链接
解析用了谷歌的zxing,pom: <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.3</version> </dependency> ...原创 2019-11-04 16:38:23 · 533 阅读 · 0 评论 -
Java在网页中爬取数据并存入excel
pom中引入: <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.5</version> </dependency&...原创 2019-11-04 16:29:21 · 2234 阅读 · 3 评论 -
Spring注解大全
@Controller标识一个该类是Spring MVC controller处理器,用来创建处理http请求的对象. @Controllerpublic class TestController { @RequestMapping("/test") public String test(Map<String,Object> map)...原创 2018-12-06 23:12:23 · 140 阅读 · 0 评论 -
微信小程序开发报错未指定环境解决
刚接触微信开发,搭建项目就遇到坑,输入AppID搭建工程报错未指定环境,好像原来微信开发工具没有这个东西,所以百度一下竟然很少相关的解答,其实很简单,但还是记录一下。首先生成工程发现是这样的:这是因为要先进行云开发配置才能使用(其位置在调试器边上):直接点进去云开发控制台:这里环境名称和ID都是自己填写,随便填。填完之后再看工程就不会报错了,再新建一个...原创 2018-12-19 20:29:54 · 8415 阅读 · 4 评论 -
Java实现音乐视频结合(利用ffmpeg添加背景音乐)
ffmpeg下载地址:https://ffmpeg.zeranoe.com/builds/win64/static/ffmpeg-20181225-7efe84a-win64-static.zipFFmpeg的名称来自MPEG视频编码标准,前面的“FF”代表“Fast Forward”,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。可以轻易地实现多种视频...原创 2018-12-25 20:54:42 · 2915 阅读 · 6 评论 -
windows下访问Linux的端口
经过实验只需要关闭防火墙或者开放端口号即可在CentOS 7或RHEL 7中防火墙由firewalld来管理,CentOS7以前的版本由iptables管理,我的是CentOS7,因此主要说这个。CentOS7以前的版本的关闭防火墙命令:chkconfig iptables off (永久)service iptables stop (临时)如果要添加范围例外端口 如 1...原创 2019-01-17 23:11:14 · 4062 阅读 · 1 评论 -
基于RBAC模型的权限设计
一、什么是RABC RBAC(基于角色的权限控制)模型的核心是在用户和权限之间引入了角色的概念。取消了用户和权限的直接关联,改为通过用户关联角色、角色关联权限的方法来间接地赋予用户权限(如下图),从而达到用户和权限解耦的目的。RABC的...原创 2019-02-19 15:09:58 · 3829 阅读 · 1 评论 -
springboot+mybatis按条件查询分页问题
有时候会遇到像按照某个特定条件查询的问题,查出来的数据要进行分页展示首先定义一个工具类 public static void startPage(BaseParam param) { int pageNum = 0; int pageSize = 0; if (param.getPageNum() != null &&...原创 2019-06-26 16:17:54 · 3577 阅读 · 4 评论 -
springboot+vue+element-ui实现图文上传(表单文字和图片一起入库)
前端页面: <el-dialog title="添加图文" :visible.sync="dialogVisible"> <el-form :model="configForm" ref="configForm" label-width="100px" :rules="rules" v-loadi...原创 2019-07-09 15:29:23 · 20443 阅读 · 19 评论 -
kafka问题总结
一、连接超时问题问题描述2018-12-11 17:14:04.956 ERROR 19888 --- [nio-8080-exec-4] o.s.k.support.LoggingProducerListener : Exception thrown when sending a message with key='null' and payload='{"houseId":24,...原创 2018-12-13 11:21:27 · 13204 阅读 · 4 评论 -
浅谈Java虚拟机工作原理
网上看了很多写JVM工作原理的大神,也看了些视频,各有各的理解,我整合一下组织自己的语言发表一下理解。。首先来一段简单的代码示例:public class Test{ public static void main(String[] args){ String name = "Tom"; sayHello(name); ...原创 2018-12-01 12:02:59 · 525 阅读 · 0 评论 -
如何去除set、get方法,@Data注解的使用
LombokLombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误。Lombok能通过注解的...原创 2018-11-28 14:49:04 · 3354 阅读 · 0 评论 -
什么是spring框架
Spring是一个J2EE的框架,这个框架提供了对轻量级loC的良好支持,同时也提供了对AOP技术非常好的封装。相比其他框架,Spring 框架的设计更加模块化,框架内的每个模块都能完成特定的工作,而且各个模块可以独立地运行,不会相互牵制。因此, 在使用Spring框架时,开发人员可以使用整个框架,也可以只使用框架内的一部分模块,例如可以只使用SpringAOP模块来实现日志管...原创 2018-10-19 11:11:34 · 569 阅读 · 0 评论 -
PRC框架介绍
rpc框架解释谁能用通俗的语言解释一下什么是 RPC 框架? - 远程过程调用协议RPC(Remote Procedure Call Protocol)首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。比如...转载 2018-10-20 17:57:01 · 12950 阅读 · 3 评论 -
用Java实现RPC框架实例
一、RPC简介RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议。它允许像调用本地服务一样调用远程服务。它可以有不同的实现方式。如RMI(远程方法调用)、Hessian、Http invoker等。另外,RPC是与语言无关的。RPC示意图 如上图所示,假设Computer1在调用sayHi()方法,对于Computer1而言调用sayH...原创 2018-10-20 18:03:14 · 712 阅读 · 0 评论 -
ArrayList自动扩容原理(底层实现)
探索ArrayList ArrayList的列表对象实质上是存储在一个引用型数组里的,有人认为该数组有“自动增长机制”可以自动改变size大小。正式地说,该数组是无法改变 大小的,实际上它只是改变了该引用型数组的指向而已。下面,让我们来看看java是怎样实现ArrayList类的。一、ArrayList类的实质ArrayList底层采用Object类型的数组实现,当使用不带参数...转载 2018-11-10 00:38:29 · 4883 阅读 · 3 评论 -
要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10
public static void main(String[] args) { List<Character> list = new ArrayList<Character>(); Set<String> hashSet = new HashSet<String>(); for (c...原创 2018-11-12 20:05:13 · 465 阅读 · 0 评论 -
用Java实现一个简单的图书管理系统
效果展示:client 入口包Client.javapackage com.lh.client;import com.lh.manager.UserManager;/** * 入口 * @author 水越帆 * @date 2018年11月20日 上午10:45:14 */public class Client { public static v...原创 2018-11-20 16:37:59 · 32366 阅读 · 20 评论 -
解决springboot报错:Cannot resolve class or package 'mysql’
使用Spring Boot 整合MySQL的时候配置可能会出现这个故障spring.datasource.driver-class-name= com.mysql.jdbc.Driver这个问题是由于MySQL 这个jar 包依赖类型默认是runtime ,也就是说只有运行时生效,虽然这里报错,但是不影响你代码运行。 解决方法:选中项目—> 右键—–> Open ...原创 2018-11-20 18:01:31 · 3248 阅读 · 0 评论 -
windows下安装ElasticSearch集群搭建详细步骤以及问题处理
ES安装前提:需要JDK1.8及以上环境一、下载安装ElasticSearchElasticSearch的windows版本下载地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.1.zip由于我用的是5.6.1版本,需要什么版本直接在链接中更改版本号即可。将下载的zip文件解压后,直接...原创 2018-11-21 15:58:35 · 1004 阅读 · 0 评论 -
Java面试题收集
今天看到一篇写面试题的文章,很多不懂的,先记录下来,慢慢研究hashcode相等两个类一定相等吗?equals呢?相反呢?介绍一下集合框架?hashmap hastable 底层实现什么区别?hashtable和concurrenthashtable呢?hashmap和treemap什么区别?低层数据结构是什么?线程池用过吗都有什么参数?底层如何实现的?sychnized和Loc...原创 2018-11-21 23:40:44 · 167 阅读 · 0 评论 -
解决CentOS下安装jdk无法解压问题(报错gzip: stdin: not in gzip format tar: Child returned status 1...... )
CentOS下自带openjdk,但是有些成(如ES)要在jdk1.8及以上环境才能安装,因此要卸载系统自带的openjdk再到官网下载Linux下的jdk,但是在下载后解压时,会发现报错: 原因分析:wget命令直接下载的JDK,这是问题的根源。去Oracle官网下载过jdk的人应该都知道,下载之前需要同意Oracle的安装协议,不然不能下载,但是用wget的方式,默认...原创 2018-11-17 11:00:35 · 1394 阅读 · 0 评论 -
PagingAndSortingRepository和 JpaSpecificationExecutor接口实现大数据量的数据分页查询
PagingAndSortingRepository1.PagingAndSortingRepository接口提供了一下接口:@NoRepositoryBeanpublic interface PagingAndSortingRepository<T, ID extends Serializable> extends CrudRepository<T, ID>...原创 2018-11-30 18:41:06 · 867 阅读 · 0 评论 -
用Spring Data Jpa的SpecificationExecutor接口做复杂查询
JpaSpecificationExecutor接口Dao接口继承(官网代码示例)public interface CustomerRepository extends CrudRepository<Customer, Long>, JpaSpecificationExecutor { …} JpaSpecificationExecutor提供很多条件查询方法...原创 2018-11-30 18:57:40 · 426 阅读 · 0 评论 -
JVM指令集
指令码 助记符 说明0x00 nop 什么都不做0x01 aconst_null 将null推送至栈顶0x02 iconst_m1 将int型-1推送至栈顶0x03 iconst_0 将int型0推送至栈顶0x04 iconst_1 将int型1推送至栈顶0x05 iconst_2 将int型2推送至栈顶0x06 iconst_3 将int型3推送...翻译 2018-11-30 20:56:31 · 759 阅读 · 0 评论 -
spring的AOP原理
面向切面编程( Aspect - Oriented Programming, AOP)是对面向对象开发的一种补充,它允许开发人员在不改变原来模型的基础上动态地修改模型以满足新的需求,例如,开发人员可以在不改变原来业务逻辑模型的基础上可以动态地增加日志、安全或异常处理的功能。下面介绍一一个在Spring中使用AOP编程的简单例子。1)创建一个接口以及实现这个接口的类。TestAOPIn. ...原创 2018-10-19 10:50:58 · 265 阅读 · 0 评论