Java
心如花木,向阳而生
这个作者很懒,什么都没留下…
展开
-
如何处理Get请求参数过长
1.项目中总会遇到一些get请求参数过长,导致访问失败的问题,首先,get请求参数过长,访问失败的原因不是http协议的限制,是浏览器与服务器的长度限制导致的。2.常见的浏览器get请求方式长度限制Http get方法提交的数据大小长度并没有限制,Http协议规范没有对URL长度进行限制。 目前说的get长度有限制,是特定的浏览器及服务器对它的限制。各种浏览器和服务器的最大处理能力如下:IE:对URL的最大限制为2083个字符,若超出这个数字,...原创 2020-08-26 15:03:21 · 20647 阅读 · 0 评论 -
关于继承的深度思考
1.先看一下继承的基本定义:继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。特征:1.Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的。2.子类拥有父类非 private 的属性、方法。3.子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。4.子类可以用自己的方式实现父类的方法。(方法的重写)5.Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父.原创 2020-07-16 19:24:25 · 387 阅读 · 0 评论 -
java-基础-构造函数
1.最近在看反射的东西,通过Class对象的构造方法,去创建对象java对象package com.newland.draw.reflect;public class Person { public Person() { System.out.println("无参"); } public Person(String name) { System.out.println(name); this.name = name; } public Person(int原创 2020-07-13 17:25:32 · 272 阅读 · 0 评论 -
基于过滤器 实现长链接转短链接
1.关于springboot中过滤器的实现已经介绍过了。地址:https://blog.csdn.net/qq_38669394/article/details/1069267392.现在介绍一下 基于过滤器实现长连接转 短链接需求:公司最近有个需求,需要做一个分享的链接,由于需要记载分享人等信息,分享的链接就有点过长,需要采用短链接分享。长链接:https://*****/starposmall/pages/coupon/couponCenter?couponId=***2020061011.原创 2020-06-23 17:47:08 · 294 阅读 · 0 评论 -
java-基础-LinkedList原理解析
1.在JDK1.8 中 LinkedList 底层结构是双向链表。链表结构是逻辑上连续 物理上不一定连续的。单链表结构图: 当前节点 指向下一个节点双链表结构图: 当前节点 指向下一个节点与上一个节点2.在这里我们可以看出,链表结构的优势,在插入,删除操作的时候,我们只需要修改当前节点,上一个节点,下一个节点的指向,就可以完成操作,如果使用ArrayList 则需要修改后面所有...原创 2019-11-19 19:45:33 · 204 阅读 · 0 评论 -
java-基础-volatile关键字的作用与用法
前言:在学习volatile 关键字的时候,我们需要了解什么是 可见性 ,什么是 原子操作。作用:1.volatile让变量每次在使用的时候,都从主存中取。而不是从各个线程的“工作内存”。2.volatile具有synchronized关键字的“可见性”,但是没有synchronized关键字的“并发正确性”,也就是说不保证线程执行的有序性。也就是说,volatile变量对于每...原创 2019-10-29 16:00:10 · 753 阅读 · 0 评论 -
java-基础-ArrayList原理解析
前言:一.在其他播客上看到下面这段话,可以说是总结的非常精辟了。读者们可以仔细品味:ArrayList和LinkedList在性能上各 有优缺点,都有各自所适用的地方,总的说来可以描述如下:1.对ArrayList和LinkedList而言,在列表末尾增加一个元素所花的开销都是固定的。对 ArrayList而言,主要是在内部数组中增加一项,指向所添加的元素,偶尔可能会导致对数组重新进行分...原创 2019-10-25 16:12:30 · 198 阅读 · 0 评论 -
java-基础-数组原理解析
数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte,short,int,long,char,float,double,Boolean,returnAddress引用类...原创 2019-10-22 10:35:05 · 1246 阅读 · 1 评论 -
Elasticsearch (九)搜索排序和高亮
准备测试案例:DELETE blogPUT blogGET blog/_mappingPUT blog/article/_mapping{ "dynamic":"strict", "properties": { "id":{ "type": "long" }, "title":{ "type": "text", "analyze...原创 2019-02-18 11:53:45 · 765 阅读 · 0 评论 -
Elasticsearch (十)关键属性解读
1. _source存储文档的的原始信息,_source字段默认是存储的,如果某个字段的内容非常的,业务里面只需要对该字段进行搜索,最后返回文档的id,查看文档内容会再次到mysql,或者Hbase中获取,把大字段的内容存放在ES中只会增大索引,这一点文档数量越大,效果越明显,如果一条数据节省几kb,放大到亿万级的量也非常可观,这时候我们只需要禁用_source字段,在ES中只存储倒排索引,不...原创 2019-02-18 14:52:14 · 292 阅读 · 0 评论 -
Elasticsearch(十一)Java API
1.先贴出es的java代码如果是springmvc的项目,可以直接引入jar包,使用下面的工具类就可以了,springboot要做一些处理。引入jar包,在pom.xml中添加 <!-- 通过 transport进行链接es--> <dependency> <groupId>org.elasticsearch.cl...原创 2019-02-18 18:33:36 · 289 阅读 · 0 评论 -
Elasticsearch(十二)Java API深入
1.为工具类添加方法package com.zhangdi.springboot.elasticsearch;import java.net.InetAddress;import java.net.UnknownHostException;import org.elasticsearch.action.admin.indices.create.CreateIndexRespo...原创 2019-02-19 18:29:51 · 218 阅读 · 0 评论 -
Elasticsearch(十三)Java API搜索
1.准备测试数据DELETE blogPUT blogGET blog/_mappingPUT blog/article/_mapping{ "dynamic":"strict", "properties": { "id":{ "type": "long" }, "title":{ "type": "text", "analy...原创 2019-02-20 15:29:40 · 161 阅读 · 0 评论 -
获取当前运行jar文件的目录
1.背景:公司需要对拿到的数据进行转换。拿到的为标准的csv格式的文件,公司需要txt格式的文件数据。于是写了一个java程序,将拿到的文件数据放到jar文件目录下,运行jar文件,在jar文件目录下生成需要的txt格式文件。2,获取当前jar文件的目录 读取csv文件,这里有个小工具类package com.pats.file.change;import java.io.File;...原创 2019-04-09 13:46:49 · 5156 阅读 · 0 评论 -
对mongo中的某个字段的一部分进行模糊查询
1. mongodb中模糊查询:对下面一段文字mongodb中的一个字段:internalResult: 我爱你[上海32323"ocr_text":[我爱你中国]23我爱你广州]23"ocr_text":[我爱你北京]我爱你深圳]对ocr_text中的 数据进行模糊查询2. 思路:正则匹配到ocr_text":[ ] 中的数据再进行匹配 // 正则 ^表示匹配...原创 2019-06-12 11:18:42 · 2159 阅读 · 0 评论 -
解决浏览器跨域问题
前言:下面内容出自蚂蚁课堂。在此记录一下,供同学们学习。一. 跨域问题产生的原因:1.现有两个项目A 和 B。当我们访问项目A时,浏览器的地址栏中输的是A项目的访问路径,那么我们在项目A中通过ajax请求访问B项目,由于浏览器的安全机制,访问路径和端口的不一致,就会产生跨域问题。2.报错信息:二.解决跨域问题的方式1.使用jsonp 解决跨域问题 一般不使用 只支持get请...原创 2019-09-11 17:08:49 · 1308 阅读 · 0 评论 -
Elasticsearch (八) mapping
1.elasticsearch中的mapping类似于sql中的建表语句,sql中一个字段声明为int类型,那么以后这个字段只能存储int类型,在elasticsearch中也是一样。2.除了基本的数据类型定义之外,elasticsearch中mapping中指定的属性会更多,mapping不仅仅会告诉elasticsearch一个文档的某个字段类型是什么,还可以指定字段是否生成索引,索引时时...原创 2019-02-15 18:44:38 · 458 阅读 · 0 评论 -
Elasticsearch(七) 倒排索引
1.Elasticsearch使用一种叫做 倒排索引 (inverted index)的结构来做快速的全文检索,倒排索引是搜索引擎中非常有用的一种检索的数据结构,存储的是词和文档之间的对应关系。2,样例:Doc1: java编程指南Doc2:Python开发指南分词 (term 词项)Doc1: java 编程 指南Doc2:Python 开发 指南...原创 2019-02-15 17:36:56 · 258 阅读 · 0 评论 -
xxl-job分布式任务调度的初步使用
xxl-job是 许雪里 同学开发的一个轻量级分布式任务调度框架。在这里开个玩笑,许雪里同学是个man(哈哈哈哈)!xxl-job的介绍和学习地址:https://www.cnblogs.com/xuxueli/p/5021979.html ...原创 2018-05-10 14:33:10 · 9250 阅读 · 5 评论 -
使用Java操作redis
redis的安装请参照:https://blog.csdn.net/qq_38669394/article/details/802780001. 当我们在本地虚拟机搭建好 redis之后,新建java项目,下面是我的工程截图2.在lib中导入jedis jar包3,导入jar包之后测试是否连得上redis数据库package com.handofgod;import redis.clients.j...原创 2018-05-11 10:58:48 · 233 阅读 · 0 评论 -
shiro安全框架与ssm+maven的整合
1,新建maven 一个ssm的maven工程。在这里我就不做多余的介绍了。下面是我的工程目录结构2,我们要整合shiro安全框架,首先要在pom.xml中引入jar包这是我的截图,需要在项目中引入可以复制下面蓝色字体内容<!-- shiro --> <!-- Spring 整合Shiro需要的依赖 --> <dependency> ...原创 2018-05-11 11:29:55 · 1213 阅读 · 0 评论 -
快速理解时间复杂度与空间复杂度
1.首先,时间复杂度与空间复杂度是对立的,时间复杂度越低,空间复杂度就越高。我们在程序中通常采用以空间换时间的方式来提高项目运行效率。 先给大家说一个最常见的简单的,时间复杂度是以n为变量,程序的运行次数随n的变化而变化。for(int i=0;i<n;i++){}当只有一层for循环的时候时间复杂度就是O(n)如果两层for循环如下所示:for(int i=0;i<n;i++){...原创 2018-05-11 17:48:05 · 1891 阅读 · 1 评论 -
快速排序与冒泡排序算法的设计与实现
大家可以先建个项目,运行一下下面的代码,看一下效果。快速排序算法package com.handofgod;public class QuickSource { public static void quick_sort(int [] arr, int s, int length) { if (s < length) ...原创 2018-05-11 19:00:43 · 457 阅读 · 0 评论 -
关于 jdk1.8 时间处理的方法(实用)
下面是个人总结的关于日期时间处理的方法:package avg.position.zhangdi;import java.text.ParseException;import java.text.SimpleDateFormat;import java.time.Duration;import java.time.Instant;import java.time.LocalDa...原创 2018-08-08 11:10:18 · 3207 阅读 · 0 评论 -
动态的页面参数数据库设计
1.简介: 当我们遇到页面的参数不确定,或者需求在不断变化的时候,这时,一个合理的数据库设计就可以帮我们省去很多麻烦,很多人采用的是横向添加的模式(横表),一个属性对应一个数据库的字段。这样属性的增加减少会对表结构产生影响,所以我们选择垂直添加模式(纵表)下面我们有这些属性:为了节省空间 我就没有添加get,set方法public class TradingEspParamDto {...原创 2018-12-07 16:47:07 · 1968 阅读 · 2 评论 -
linux下安装redis与基本配置
一,centos7 安装redies 1.关闭防火墙:systemctl stopfirewalld.service #停止firewallsystemctl disablefirewalld.service #禁止firewall开机启动firewall-cmd--state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running) ...原创 2018-05-11 10:33:40 · 499 阅读 · 0 评论 -
Redis 持久化之RDB和AOF
前沿:因为公司的架构升级,需要使用到非关系型数据库redis,于是去熟悉了一下redis的持久化,在网上看得到一个人的博客,非常喜欢,见猎欣喜之下,就想要记录下来,文章结束会给出原文链接。RDB 详解RDB 是 Redis 默认的持久化方案。在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中。即在指定目录下生成一个dump.rdb文件。Redis 重启会通过加载dum...转载 2018-12-12 17:19:38 · 101 阅读 · 0 评论 -
linux与windows 下jdk的安装与配置
简介:主要是提供一种傻瓜式安装,粘贴复制就能成功。使用的jdk版本jdk-8u121-linux-x64.tar.gz 请自行下载 1.linux下Centos7 安装jdkcd /usr mkdir java cd java/ tar xzvf jdk-8u121-linux-x64.tar.gzvi /etc/profile配置文件最后加入:#java...原创 2018-12-12 17:39:14 · 214 阅读 · 0 评论 -
java 实现移动 波动率 的设计与实现
1.首先,我们需要知道波动率是什么?在数学定义上波动率就是标准,标准差就是方差开根号,我们先看一下方差计算公式:其中x为这组数据的平均数,下面我们需要对方差进行推导:图 2.图3.标准差 :图4.归一化处理:推导过程:我们先不管前面的1/n,对里面展开:x为平均数,第4步括号1里面为X1到Xn平方的和,我们对后面的式子乘以n再除以n,X1+X2+...+...原创 2018-12-07 14:40:45 · 1804 阅读 · 4 评论 -
Java 集合 固定大小 与 固定时间的 设计与实现
业务场景:当我们需要在系统中保存一些数据,而这些数据只需要最新的三十分钟的数据或者最近的300条的数据,那么我们就需要添加最新的数据,删除旧的数据。1. 首先设置一个全局的缓存类,来缓存我们需要的保存的对象package com.pats.publish.analysis;import java.util.List;import java.util.concurrent.Concu...原创 2019-01-18 14:23:55 · 1069 阅读 · 0 评论 -
Elasticsearch的使用方法
前沿:下面介绍elasticsearch的使用方法。在这里我会分节介绍elasticsearch的使用方式,以及基本的知识点。一,Elasticsearch的安装。 https://blog.csdn.net/qq_38669394/article/details/80268778二,Head插件的安装。 ...原创 2019-02-01 16:26:54 · 286 阅读 · 1 评论 -
Elasticsearch(四)IK分词插件
1.IK分词插件的安装浏览器访问:https://github.com/medcl/elasticsearch-analysis-ik选择 releases 版本,是已经打包好的,解压就可以使用。找到5.4.1版本,下载进入elsaticsearch的plugins目录下,将ik分词插件解压后拷贝进去,重启elasticsearch需要选择elasticse...原创 2019-02-15 11:59:52 · 656 阅读 · 3 评论 -
Elasticsearch(五)核心概念
1.索引索引是elasticsearch中存放数据的地方,可以理解为关系型数据库中的一个数据库。2.类型类型用于区分同一个索引的不同数据类型,相当于关系型数据库中表3.文档文档是elasticsearch中存储的实体,类比于关系型数据库,每个文档相当于关系型数据库表中的一行数据,es的文档格式全部是JSON格式。文档由字段组成,相当于关系型数据库中的列的属性,不同的是es的...原创 2019-02-15 15:09:58 · 333 阅读 · 0 评论 -
Elasticsearch(六)文档的CRUD
1.创建索引索引名必须小写,默认一个所以五个分片,一个副本,也可以通过参数指定:3个分片,一个副本PUT test1{"settings":{ "number_of_shards":3, "number_of_replicas":1}}2.删除索引DELETE test13.增加索引文档PUT blog/article/1{ "title":...原创 2019-02-15 16:43:22 · 142 阅读 · 0 评论 -
HashMap 原理解析
首先:说明HashMap是怎样去存储数据的。我们都知道是以‘键值对’的形式存在的。无序,不可重复。那么在存储的时候具体做了什么呢?1.HashMap做了什么?当集合要添加新的元素时,先调用这个元素的hashCode方法,就能定位到它应该放置的存储位置。如果这个位置上没有元素,它就可以直接存储在这个位置上,不用再进行任何比较了;如果这个位置上已经有元素了,就调用它的equals方法与新元素进行比较,...原创 2018-05-09 18:23:28 · 196 阅读 · 0 评论