java
文章平均质量分 88
股海孙悟空
wx 公众号 股海孙悟空
展开
-
Tomcat性能优化及JVM内存工作原理
Java性能优化原则:代码运算性能、内存回收、应用配置(影响Java程序主要原因是垃圾回收,下面会重点介绍这方面)代码层优化:避免过多循环嵌套、调用和复杂逻辑。 Tomcat调优主要内容如下:1、增加最大连接数2、调整工作模式3、启用gzip压缩4、调整JVM内存大小5、作为Web服务器时,与Apache整合或Nginx6、合理选择垃圾回收算法7、尽量使用较...原创 2018-11-17 22:13:15 · 106 阅读 · 0 评论 -
移动端请求URL的加密/解密
移动端请求URL的加密/解密移动端请求URL的加密方式最近一直在研究如何爬取手机客户端请求的数据信息,发现很多手机客户端在请求服务端数据的时候,对请求的URL都做了一些加密处理,所以自己就私下里研究了一下URL的一些加密算法下面是一个比较基本的URL...原创 2018-11-22 14:33:03 · 385 阅读 · 0 评论 -
centos rpm方式安装mysql
卸载原有的mysql下载安装自定义目录修改配置文件初始化数据库启动数据库服务登录并修改密码开启远程访问设置开机启动卸载原有的mysql[root@dev22 mysql]# rpm -qa | grep -i mysqlMySQL-devel-5.6.38-1.el6.x86_64MySQL-client-5.6.38-1.el6.x86_64M...原创 2018-11-09 01:01:40 · 466 阅读 · 0 评论 -
移动端请求URL的加密/解密
移动端请求URL的加密/解密移动端请求URL的加密方式最近一直在研究如何爬取手机客户端请求的数据信息,发现很多手机客户端在请求服务端数据的时候,对请求的URL都做了一些加密处理,所以自己就私下里研究了一下URL的一些加密算法下面是一个比较基本的URL加密处理方式:1.服务端和客户端约定好一个公约KEY2.选择一种加密方式MD5,SHA等等...原创 2018-11-10 01:29:50 · 599 阅读 · 0 评论 -
轨迹相似度度量
0.轨迹相似度问题有四种方法可以度量轨迹相似度: (1)LCSS,longest comon subsequence (2)Frechet distance (3)DTW,dynamic time warping (4)edit distance 轨迹TA,包含若干个(t,a)点。其中,a为位置点,t为时间戳。 1.Frechet d...原创 2018-10-20 23:57:56 · 2374 阅读 · 0 评论 -
JavaWeb RSA密码加密登录
<div class="markdown_views"> <!-- flowchart 箭头图标 勿删 --> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;原创 2018-10-16 15:29:57 · 1633 阅读 · 0 评论 -
Java通过浏览器请求头(User-Agent)获取 浏览器类型,操作系统类型,手机机型
一:获得浏览器请求头中的User-Agent ? 1 String ua = request.getHeader("User-Agent") 二:获得浏览器类型,操作系统类型:(注意,UserAgent类在UserAgentUtils.jar中,自行下载) ? 1 2 3 UserA...原创 2018-10-15 15:49:01 · 9373 阅读 · 0 评论 -
java的使用proguard maven进行代码混淆
<!-- ProGuard混淆插件--> <plugin> <groupId>com.github.wvengen</groupId> <artifactId>proguard-maven-plugin</artifactId> ...原创 2018-10-18 12:19:02 · 1364 阅读 · 0 评论 -
java之获取中文全拼/首字母工具(大小写转换)
java之获取中文全拼/首字母工具(大小写转换)需要jar包pinyin4j支持maven地址 <dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <ve...原创 2018-10-15 10:27:15 · 289 阅读 · 0 评论 -
Java快递物流查询接口,怎么接入物流接口API,如何根据单号查询物流跟踪的详细信息的Demo详细说明
Java怎么写物流接口,怎么接入物流接口,如何根据单号查询物流跟踪的详细信息 实现需求: 根据用户输入的订单号,我们的后台识别订单号并根据快递鸟查询快递Api接口,实现自动查询的功能 应用场景 实现的具体步骤 1.本接口采用 快递鸟物流接口 申请快递鸟API接口网址: http://www.kdniao.com/YundanChaxunAPI.as...原创 2018-10-07 00:33:45 · 2149 阅读 · 1 评论 -
redis中 Could not get a resource from the pool 异常解决
在项目中使用redis做缓存,当运行一段时间后就会出现如下错误:Could not get a resource from the pool,然后在看具体的异常信息就是JedisPool中获取不到jedis对象,也就是说连接池中没有可用的jedis。自己的第一反应就是把最大链接数(setMaxTotal)调大一些,刚开始设置了100、后来200、在后来2000都不行然后上网一搜发现大家的回...原创 2018-07-22 23:54:34 · 6170 阅读 · 0 评论 -
Java 与 C socket通信传输结构体消息/Java解析C语言结构体
Linux C与java实现 socket通信,网上部分例子通信消息格式都是传递的字节流消息,直接传递char型数组消息。而在网络协议、通信控制、嵌入式系统、驱动开发等地方,我们经常要传送的不是简单的字节流(char型数组),而是多种数据组合起来的一个整体,其表现形式是一个结构体。这时候传输的内容如果保存在char型数组中,编程复杂,易出错,而且一旦控制方式及通信协议有所变化,程序就要进行非常细致...原创 2018-07-13 00:22:28 · 2655 阅读 · 2 评论 -
HTTP常见面试题
HTTP常见面试题Http与Https的区别:Http与Https的区别:HTTP 的URL 以http:// 开头,而HTTPS 的URL 以https:// 开头HTTP 是不安全的,而 HTTPS 是安全的HTTP 标准端口是80 ,而 HTTPS 的标准端口是443在OSI 网络模型中,HTTP工作于应用层,而HTTPS 的安全传输机制工作在传输层HTTP 无法加密,而...原创 2019-02-27 15:11:05 · 118 阅读 · 0 评论 -
CAS了解及CAS容易发生的问题
CAS(Compare and Swap)比较和交换,是java在处理并发问题时,使用最多的一种方式,简单说就是,指定一个对象V,给出他的期望值,及需要修改的值,如果期望值等同于内存中的值,那么就把这个对象修改成我们想要改变的值,否则修改失败。CAS使用最佳实践先看下我们下面的场景:public class Case { public volatile int n...原创 2019-04-26 15:44:19 · 512 阅读 · 0 评论 -
设置头信息使浏览器下载文件或预览
注意到第一个值项是attachment,这是真正的关键,设定了这个值,浏览器就会老老实实地显示另存为对话框,如果这个值设成inline,则无论怎样浏览器都会自动尝试用已知关联的程序打开文件。//强制浏览器下载response.setHeader("content-disposition", "attachment;filename=" + realName);//浏览器尝试...原创 2019-04-12 21:01:42 · 576 阅读 · 0 评论 -
java微信发送模板消息,ios手机收到的内容为空的问题
package com.zero2ipo.mobile.services.weixinMsg.impl; import com.zero2ipo.core.MobileContants;import com.zero2ipo.framework.util.StringUtil;import com.zero2ipo.mobile.services.invitation.IInvitati...原创 2019-03-20 23:15:17 · 346 阅读 · 0 评论 -
JVM内存划分
目录1. 概述2. 运行时数据区域2.1 程序计数器2.2 Java虚拟机栈2.3 本地方法栈2.4 Java堆2.5 方法区2.6 补充2.6.1 运行时常量池和Class文件常量池2.6.2 直接内存3. HotSpot虚拟机3.1 内存划分3.2 对象的创建、内存布局、访问定位3.2.1 对象的创建3.2.2 对象的内存布局...原创 2019-03-12 16:52:20 · 183 阅读 · 0 评论 -
深入 -- 为什么不能根据返回类型来区分重载?
昨天上网乱翻,看到一个问题,挺有意思的。重载(方法名相同、参数列表不同)这个概念,相信大家都知道了,很多面试都会问到。但为什么不能根据返回类型来区分重载?首先重载是Java多态的一种体现,它实现的是编译时的多态。举个例子:float max(int a, int b);int max(int a, int b);上面两个方法,别人调用的时候,不要返回值,直接就是:max(....原创 2019-03-12 16:42:52 · 300 阅读 · 0 评论 -
java正则表达式去除html中所有的标签和特殊HTML字符(以&开头的)
package com.comcons.utils;import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.util.regex.Pattern;public class R...原创 2019-03-16 14:57:28 · 1654 阅读 · 0 评论 -
浅谈java中的"=="和eqals区别
在初学Java时,可能会经常碰到下面的代码:1 String str1 = new String("hello");2 String str2 = new String("hello");3 4 System.out.println(str1==str2);5 System.out.println(str1.equals(str2)); 为什么第4行和第5行的输...原创 2019-03-06 22:11:56 · 1506 阅读 · 0 评论 -
Java IO 和 NIO的区别
主要区别 IO NIO 面向字节流 面向缓冲区 阻塞 基于Selector的非阻塞Java IO 和 NIO的主要区别体现在以上两个方面,以下详细说明这些区别的具体含义。面向流和面向缓冲区这个概念和编程方法中的面向过程、面向对象类似。Java IO 是面向流的而Java NIO是面向缓冲区的。在Ja...原创 2019-03-04 22:22:14 · 109 阅读 · 0 评论 -
Spring Cloud版本与Spring Boot版本之间匹配关系
很多人在使用springboot和springcloud,但是对于这两者之间的版本关系不是很清楚,特别是在面临升级的时候不知道该如何操作。本文简要摘录的官方文档的部分内容作为依据,供广大同行参考。问题的提出,我现在使用的是1.5.1版本的springboot 和Edgware.RELEASE版本的springcloud,我想升级到springboo...原创 2019-03-01 10:04:03 · 325 阅读 · 0 评论 -
java断点续传服务端代码
此类核心续传servlet|||||||||||||||||||import java.io.BufferedOutputStream;import java.io.File;import java.io.IOException;import java.io.OutputStream;import java.io.RandomAccessFile;import java.util.concurre...原创 2018-05-22 14:25:59 · 705 阅读 · 0 评论 -
Spring Cloud(2) |No plugin found for prefix 'docker' in the current project and in the plugin groups
用docker部署Spring Cloud项目的时候,运行命令:mvn package docker:build报如下错误:at 1.6 KB/sec)Downloaded: http://3.2.4.2:8888/repository/maven-public/org/apache/maven/plugins/maven-metadata.xml (14 KB at 5.7 KB/sec)Dow...原创 2018-05-15 14:25:33 · 660 阅读 · 1 评论 -
Java反射机制
一、JAVA是动态语言吗?一般而言,说到动态言,都是指在程序运行时允许改变程序结构或者变量类型,从这个观点看,JAVA和C++一样,都不是动态语言。但JAVA它却有着一个非常突出的动态相关机制:反射。通过反射,Java可以于运行时加载、探知和使用编译期间完全求和的类、生成其对象实体,调用其方法或者对属性设值。所以Java算是一个半动态的语言吧。反射的概念:在Java原创 2017-09-14 14:23:47 · 230 阅读 · 0 评论 -
Redis与Memcached的区别
Redis与Memcached的区别传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着原创 2017-09-14 14:16:51 · 349 阅读 · 0 评论 -
面试题
下面都是我自己的答案非官方,仅供参考,如果有疑问或错误请一定要提出来,大家一起进步啦~~~ 1. 下面哪些是Thread类的方法()A start() B run() C exit() D getPriority()答案:ABD解析:看Java API docs吧:http://docs.oracle.com/javase原创 2017-09-14 13:59:32 · 258 阅读 · 0 评论 -
HashMap实现原理及源码分析
HashMap实现原理及源码分析 哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进原创 2017-08-24 11:30:44 · 272 阅读 · 0 评论 -
Java集合----HashSet的实现原理
1. HashSet概述 HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。2. HashSet的实现 如果不等,则添加到该数组索引对应的链表中。---------------------------------------------原创 2017-08-24 11:24:30 · 157 阅读 · 0 评论 -
JAVA SkipList 跳表 的原理和使用例子
跳表的原理与特点跳跃链表是一种随机化数据结构,基于并联的链表,其效率可比拟于二叉查找树(对于大多数操作需要O(log n)平均时间),并且对并发算法友好。基本上,跳跃列表是对有序的链表增加上附加的前进链接,增加是以随机化的方式进行的,所以在列表中的查找可以快速的跳过部分列表(因此得名)。所有操作都以对数随机化的时间进行。跳跃列表是按层建造的。底层是一个普通的有序原创 2017-08-24 11:23:02 · 239 阅读 · 0 评论 -
Java开发中的23种设计模式详解
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式原创 2017-08-24 09:50:01 · 346 阅读 · 0 评论 -
JAVA利用HttpClient进行HTTPS接口调用
1.为了避免需要证书,所以用一个类继承DefaultHttpClient类,忽略校验过程。 import java.security.cert.CertificateException;import java.security.cert.X509Certificate;import javax.net.ssl.SSLContext;import javax.net.ssl原创 2017-08-24 16:50:03 · 1033 阅读 · 0 评论 -
Java JVM(七):Function,Consumer,Predicate 接口
包括:一. Function 接口的使用二. Consumer 接口的使用 和 Function 接口的区别三. Predicate 接口的使用一. Function 接口的使用 该接口目前发布在 java.util.function 包中。接口中主要有方法:[java] view plain copy原创 2017-08-18 10:07:05 · 305 阅读 · 0 评论 -
spring_boot 发布成war包 ,部署到外部的tomcat
由jar变成warpackaging>jarpackaging>11如果是上面的打包方式,启动方式则为 mvn package java -jar target/mymodule-0.0.1-SNAPSHOT.jar1212改变成warproject xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:原创 2017-06-30 17:01:32 · 202 阅读 · 0 评论 -
SpringBoot+Mybatis显示sql
在application.yml文件中设置如下logging: level: debug原创 2017-06-30 14:12:45 · 3101 阅读 · 0 评论 -
在maven web项目中配置log4j打印日志及Mybatis sql语句
1 添加依赖在pom.xml文件的下添加以下log4j依赖:dependency> groupId>org.slf4jgroupId> artifactId>slf4j-apiartifactId> version>1.7.5version> dependency> dependency> groupId>org.slf原创 2017-06-30 10:41:09 · 1530 阅读 · 0 评论 -
centos6.7下ngnix1.8+tomcat8+memcached1.4.25 集群实现session共享
安装完centos后一、更换国内源[plain] view plain copysudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup sudo vim /etc/yum.repos.d/CentOS-Base.repo原创 2017-06-07 13:38:56 · 512 阅读 · 0 评论 -
JAVA 注解的学习和对Spring注解的理解
从前年开始使用spring和hibernate,mybatis等框架时,就转到注解来了。直到前些时,突然对注解开始好奇起来。为什么写注解就可以了?不需要大量配置文件呢?于是我查看了一些资料,对注解有了初步了解。引言:什么是注解?在IDE中,我们可以链接spring mvc中的@RequestMapping注解,发现以下源码[java] view plai原创 2017-05-22 16:21:21 · 625 阅读 · 0 评论 -
Spring Boot中使用Swagger2构建强大的RESTful API文档
添加Swagger2依赖在pom.xml中加入Swagger2的依赖dependency> groupId>io.springfoxgroupId> artifactId>springfox-swagger2artifactId> version>2.2.2version>dependency>dependency> groupId>io.sprin原创 2017-05-03 10:53:31 · 319 阅读 · 0 评论 -
数据结构Java实现07----队列:顺序队列&顺序循环队列、链式队列、顺序优先队列
一、队列的概念: 队列(简称作队,Queue)也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置插入和删除,而队列只允许在其一端进行插入操作在其另一端进行删除操作。队列中允许进行插入操作的一端称为队尾,允许进行删除操作的一端称为队头。队列的插入操作通常称作入队列,队列的删除操作通常称作出队列。下图是一个依次向队列中插原创 2017-09-14 15:39:20 · 420 阅读 · 0 评论