自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

格色情调的博客

技术永远是高大上的!

  • 博客(106)
  • 资源 (12)
  • 收藏
  • 关注

原创 计算地图上正方(矩)形区域点坐标集合判断电子围栏

背景:公司业务需要在地图上绘画出以任意地址且斜长为500m的正方形区域点坐标集合作为电子围栏集合区域,绘画出来的正方形区域点坐标集合通过前端APP作为触发电子围栏条件。实现方法:1、将中心点地址通过高德API接口地理编码解析为高德经纬度2、通过中心点经纬度、斜长、角度计算出正方形(矩形)每个点坐标经纬度3、最后四个点坐标组合成区域点集合现通过java实现代码如下:/**...

2019-01-17 16:42:08 1757

原创 MQ原理、使用场景、IBM WebSphere MQ介绍及spring集成配置

一、MQ简介及特点        MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和

2016-10-31 16:54:26 23757

原创 JDK1.8对集合List的去重,排序,过滤,分组,统计各种处理实例详解

JDK1.8对集合List的去重,排序,过滤,分组,统计等操作,其实用到的是JDK1.8新特性stream,首先对stream的操作可以分为两类,中间操作(intermediate operations)和结束操作(terminal operations):中间操作总是会惰式执行,调用中间操作只会生成一个标记了该操作的新stream。结束操作会触发实际计算,计算发生时会把所有中间操作积攒...

2020-03-24 11:34:16 11248 1

原创 elastic-job控制台elastic-job-lite-console部署

一、环境准备:jdk,maven安装jdk和maven后一定要设置环境变量,否则mvn clean install 出错。jdk环境变量设置:https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.htmlmaven环境变量设置:https://www.cnblogs.com/Marydon20170307/p/9134948.h...

2019-12-31 16:42:24 2921 3

原创 java修改操作出错:could not retrieve transation read-only status server

##一、问题描述我们一般在写新增、修改、删除操作业务代码时通常都比较简单,一般不会出现运行错误,但这次操作的是三张表(一张主表,二张关联表)出现了:could not retrieve transation read-only status server错误,具体修改操作业务逻辑是:1、先修改主表,若修改成功即行数大于0则修改下面的关联表;2、先找出第一张关联表要逻辑删除的数据及新增的数据,...

2019-12-20 15:24:05 16546 3

原创 java 用线程异步导出excel

一、前言现在用的比较多的都是用POI技术来导出Excel,对于导出数据量不大的直接用POI技术按部就班实现即可,但是对于数据量大且需要导出的数据封装业务较复杂,单纯的用POI技术实现在高并发导出数据量较大时就会出现应用程序内存溢出,为了解决此问题,以下通过用线程池异步导出的方式实现。二、线程池从Java线程池ThreadPoolExecutor提供了四个构造方法中了解到,在如下场景的的...

2019-08-19 17:33:56 14635 8

原创 Guava Cache用法介绍

一、Guava是什么Guava是一种基于开源的Java库,Google Guava源于2007年的"Google Collections Library"。这个库是为了方便编码,并减少编码错误。这个库用于提供集合,缓存,支持原语句,并发性,常见注解,字符串处理,I/O和验证的实用方法。二、Guava Cache是什么Guava cache是谷歌的Guva提供的cache模块,目前被常用...

2019-07-24 12:17:26 806

转载 分布式锁简单入门以及三种实现方式介绍

很多小伙伴在学习Java的时候,总是感觉Java多线程在实际的业务中很少使用,以至于不会花太多的时间去学习,技术债不断累积!等到了一定程度的时候对于与Java多线程相关的东西就很难理解,今天需要探讨的东西也是一样的和Java多线程相关的!做好准备,马上开车!学过Java多线程的应该都知道什么是锁,没学过的也不用担心,Java中的锁可以简单的理解为多线程情况下访问临界资源的一种线程同步机制。...

2019-03-28 16:58:52 216

原创 mysql索引优化思路(优化UCP的慢SQL总结)

(1)能用唯一索引不要用普通索引,能用组合索引尽量不用单列索引。(2)索引不会走包含有NULL的列,只要列中包含有NULL值,都将不会被包含在索引中,组合索引中只要有一列含有NULL值,那么这一列对于此组合索引就是无效的。(3)order by与group by后的字段需要结合where条件的字段建组合索引,并且order by的字段一般放在组合索引的最后才有效。(4)查询语句如果使用组合索...

2019-03-20 10:54:31 398

转载 HTTPS原理和CA证书申请(满满的干货)

众所周知,WEB服务存在http和https两种通信方式,http默认采用80作为通讯端口,对于传输采用不加密的方式,https默认采用443,对于传输的数据进行加密传输目前主流的网站基本上开始默认采用HTTPS作为通信方式,一切的考虑都基于对安全的要求,那么如何对自己的网站配置HTTPS通信,是本文着重介绍的本文的主要内容包括:https加密传输的原理、如何申请https所用的CA证书,...

2018-11-22 11:09:07 10265

原创 eclipse安装spring boot插件spring tool suite及出错:No repository found containing: osgi.bundle,com.jcraft.。。

在spring官网上下载相关的插件,然后导入到eclipse中,以下是下载步骤:       1、查看自己eclipse版本是多少,help-->About Eclipse2、点击官网,现在该从官网上下载插件包了,但是进到官网上看到的都是类似于这种:http://download.springsource.com/release/STS/3.8.1.RELEASE/dist/e4...

2018-11-10 21:54:08 4632

原创 解决 redis超时失效key 的监听触发时收不到消息问题

过期事件通过Redis的订阅与发布功能(pub/sub)来进行分发。而对超时的监听呢,并不需要自己发布,只有修改配置文件redis.conf中的:notify-keyspace-events Ex,默认为notify-keyspace-events "" 修改好配置文件后,redis会对设置了expire的数据进行监听,当数据过期时便会将其从redis中删除:1.先写一个监听器:package c...

2018-06-27 11:04:32 13437 5

原创 Mysql数据库常用SQL

----查询库表的数据大小 SELECT CONCAT(ROUND(SUM(DATA_LENGTH/1024/1024),2),'M') FROM information_schema.tables WHERE TABLE_SCHEMA='sucft' AND TABLE_NAME='t_suc_bkg_dirving_plan'

2018-03-07 14:28:51 303

转载 elastic-job的原理简介和使用

elastic-job是当当开源的一款非常好用的作业框架,在这之前,我们开发定时任务一般都是使用quartz或者spring-task(ScheduledExecutorService),无论是使用quartz还是spring-task,我们都会至少遇到两个痛点:1.不敢轻易跟着应用服务多节点部署,可能会重复多次执行而引发系统逻辑的错误。2.quartz的集群仅仅只是用来HA,节点数量的增

2018-01-23 19:22:36 1491

原创 通过自定义注解或拦截器实现APP调用后接口全局权限验证

现在就需要在现有代码的基础上添加用户登录和权限验证功能。关于登录和权限验证方面,参照以前做iOS的开发经验,App端提供用户名和密码换取token,每次通过换取的token请求需要登陆权限的操作。现在反过来,我就需要考虑下面几个问题:1.在现有功能的代码上如何比较轻松地满足这些功能的实现,使得现有代码改动不大,并且今后新功能实现权限验证不麻烦2.如何根据用户名和密码

2017-10-27 14:16:47 3236

转载 Java中的static关键字解析

static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一。下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题。以下是本文的目录大纲:  一.static关键字的用途  二.static关键字的误区  三.常见的笔试面试题  若有不

2017-10-11 22:56:52 506

转载 Java 并发工具包 java.util.concurrent 用户指南

译序本指南根据 Jakob Jenkov 最新博客翻译,请随时关注博客更新:http://tutorials.jenkov.com/java-util-concurrent/index.html。本指南已做成中英文对照阅读版的 pdf 文档,有兴趣的朋友可以去 Java并发工具包java.util.concurrent用户指南中英文对照阅读版.pdf[带书签] 进行下载。

2017-09-25 23:49:28 333

原创 LinkedHashMap和TreeMap排序实现

TreeMap      TreeMap默认是升序的,如果我们需要改变排序方式,则需要使用比较器:Comparator。      Comparator可以对集合对象或者数组进行排序的比较器接口,实现该接口的public compare(T o1,To2)方法即可实现排序,该方法主要是根据第一个参数o1,小于、等于或者大于o2分别返回负整数、0或者正整数。如下:public

2017-09-25 23:10:46 2007

原创 判断java中两个对象是否相等

一、java中的基本数据类型(int、double、short、long、byte、float、boolean、char)判断是否相等,直接使用"=="就行了,相等返回true,否则,返回false。二、但是java中的引用类型的对象比较变态,假设有两个引用对象obj1,obj2,obj1==obj2 判断是obj1,obj2这两个引用变量是否相等,即它们所指向的对象是否为同一个对象。

2017-09-25 14:49:28 4829 1

转载 java中对象和对象的引用的区别

在 Java 里都得到了简化,一切都被视为对象。因此,我们可采用一种统一的语法。尽管将一切都“看作”对象,但操纵的标识符实际是指向一个对象的“引用”(reference)。”  这段话来自于《Java编程思想》,很显然,从这段话可以看出对象和对象引用不是一回事,是两个完全不同的概念。举个例子,我们通常会用下面这一行代码来创建一个对象:  Person person = new Pe

2017-09-25 00:01:32 4970 3

原创 ThreadLocal使用、场景、原理

我一次在面试时,面试官问我ThreadLocal相关问题,因平时没有太多的关注,所以结果肯定被“打脸”了。以下来一起探讨下ThreadLocal的使用方法和实现原理。首先,先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。一.对ThreadLocal的理解       当使用ThreadLocal维护

2017-09-24 16:16:09 5724

转载 Redis在京东到家的订单中的使用

背景Redis作为一款性能优异的内存数据库,在互联网公司有着多种应用场景,下面介绍下Redis在京东到家的订单列表中的使用场景。主要从以下几个方面来介绍:订单列表在Redis中的存储结构Redis和DB数据一致性保证Redis中的分布式锁缓存防穿透和雪崩订单列表在Redis中的存储结构订单列表数据在缓存中,是以用户的唯一标识作为键,以一个按下单时间倒序的有序集合

2017-09-18 18:50:50 637

转载 数据库的脏读、不可重复读、幻读以及不可重复读和幻读的区别

数据库的脏读、不可重复读、幻读都和事务的隔离性有关。所以先了解一下事务的4大特性。 事务的4大特性(ACID):原子性(Atomicity):事务是数据库的逻辑工作单位,它对数据库的修改要么全部执行,要么全部不执行。 一致性(Consistemcy):事务前后,数据库的状态都满足所有的完整性约束。 隔离性(Isolation):并发执行的N个事务是隔离的,一个不影响

2017-09-07 23:34:16 428

转载 通谷易懂区块链技术

以下转自知乎:区块链是什么,如何简单易懂地介绍区块链?因为面向的读者是不想知道具体技术实现只想了解区块链的人群,因此本文避开了一些底层和算法细节,采用比较主观的方式来展示笔者对区块链技术的感性认识。如果你只是对区块链感兴趣,并没有深入学习的打算,或者只是想像我一样在别人问起来的时候装逼,本文应该是一篇很好的“导论”。作者:汪乐-LaiW3n链接:https://

2017-09-05 11:33:40 1141 1

原创 面试题(一)

1、String s = new String("xyz");创建了几个StringObject?是否可以继承String类?        两个或一个都有可能,”xyz”对应一个对象,这个对象放在字符串常量缓冲区,常量”xyz”不管出现多少遍,都是缓冲区中的那一个。NewString每写一遍,就创建一个新的对象,它使用常量”xyz”对象的内容来创建出一个新String对象。如果以前就用过’x...

2017-07-31 10:37:45 494

原创 NIO详解及Netty4详解

NIO详解: http://blog.csdn.net/suifeng3051/article/details/48160753Netty详解:http://blog.csdn.net/suifeng3051/article/category/2161821

2017-07-24 15:41:20 819

原创 SoftReference的使用

一、softReference的作用       SoftReference的主要特点就是在当内存不够的时候,GC会回收SoftReference所引用的对象。所以,在memory sensitive的项目中将某些数据设置成SoftReference可以避免内存的溢出。1、创建一个SoftReferenceSoftReference> softReference = new Sof

2017-07-08 11:15:32 11069 3

原创 常用的注意事项

1、对象序列化反序列化:JAVA 中进行网络通信时 两端 序列化对象的类所处的包名必须一致 类名也必须相同2、MQ各版本下载地址:从6.0开始3、eclipse调整堆、栈内存大小:-Xms1024m -Xmx1024m -XX:MaxPermSize=256m4、JAVA使用POI如何导出百万级别数据(使用分页)5、Socket高性能IO模型浅析6、通过gitHub客户端上...

2017-06-13 08:55:43 462

转载 Eclipse中jsp、js文件编辑时,卡死现象解决汇总

使用Eclipse编辑jsp、js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲。将所有用过的方法罗列如下: 1、取消验证windows–>perferences–>validation把 除了manual 下面的全部点掉,build下只留 classpath dependency Validator

2017-05-12 14:44:45 727

转载 通俗理解ZooKeeper是如何保证数据一致性的

ZooKeeper是个集群,内部有多个server,每个server都可以连接多个client,每个client都可以修改server中的数据ZooKeeper可以保证每个server内的数据完全一致,是如何实现的呢?答:数据一致性是靠Paxos算法保证的,Paxos可以说是分布式一致性算法的鼻祖,是ZooKeeper的基础Paxos的基本思路:假设有一个社团,其中有团员、

2017-04-26 09:38:26 25714 4

转载 基于redis分布式锁实现“秒杀”

最近在项目中遇到了类似“秒杀”的业务场景,在本篇博客中,我将用一个非常简单的demo,阐述实现所谓“秒杀”的基本思路。业务场景所谓秒杀,从业务角度看,是短时间内多个用户“争抢”资源,这里的资源在大部分秒杀场景里是商品;将业务抽象,技术角度看,秒杀就是多个线程对资源进行操作,所以实现秒杀,就必须控制线程对资源的争抢,既要保证高效并发,也要保证操作的正确。一些可能的实现

2017-03-25 10:17:02 1412

转载 Redis实现Mybatis的二级缓存

一、Mybatis的缓存通大多数ORM层框架一样,Mybatis自然也提供了对一级缓存和二级缓存的支持。一下是一级缓存和二级缓存的作用于和定义。      1、一级缓存是SqlSession级别的缓存。在操作数据库时需要构造 sqlSession对象,在对象中有一个(内存区域)数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)

2017-03-24 23:59:32 2581

原创 对Java BIO、NIO、AIO 学习

一、Java对BIO、NIO、AIO的支持:Java BIO(Block I/O) : 同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。Java NIO(NOT Block I/O) : 同步非阻塞,服务器实现模式为一个请求一个线程,即客户端

2017-03-22 11:01:25 710

转载 abstract class和interface的区别

在Java语言中,abstract class和interface是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很

2017-03-19 19:47:24 371

原创 Method的invoke()方法的使用

一、为什么要用invoke方法主要是为了类反射,这样你可以在不知道具体的类的情况下,根据配置的字符串去调用一个类的方法。在灵活编程的时候非常有用。二、实现方法public Object invoke(Object obj,Object... args)throws IllegalAccessException,IllegalArgumentException,InvocationTar

2017-03-17 20:23:29 14688

转载 通过ApplicationContextAware加载Spring上下文环境

项目用到了ApplicationContextAware,通过它spring容器会自动把上下文环境对象调用ApplicationContextAware接口中的setApplicationContext方法。我们在ApplicationContextAware的实现类中,就可以通过这个上下文环境对象得到Spring容器中的Bean。使用方法如下:1.实现Applicatio

2017-03-17 17:12:37 879

原创 匿名内部类及如何访问外部变量

一、java中匿名内部类1、匿名内部类也就是没有名字的内部类2、正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写3、但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口二、实现抽象方法不使用匿名内部类与使用匿名内部类比较不使用匿名内部类:abstract class Person { public abstra

2017-03-08 16:50:48 4815

原创 一致性哈希与普通哈希对比

普通哈希算法    假如有cache主机5台分别为cacheA、cacheB、cacheC、cacheD、cacheE    当程序进行hash时,首先每个节点要根据自己的唯一参数哈希出一个值来(如根据ip进行哈希)    主机哈希完成后形成的哈希值如下    cacheA       0    cacheB       1    cacheC

2017-03-07 10:54:04 2202

原创 线程池的原理及java实现

一、线程简介 创建线程有两种方式:继承Thread或实现Runnable。Thread实现了Runnable接口,提供了一个空的run()方法,所以不论是继承Thread还是实现Runnable,都要有自己的run()方法。    一个线程创建后就存在,调用start()方法就开始运行(执行run()方法),调用wait进入等待或调用sleep进入休眠期,顺利运行完毕或休眠被中断或运行过程

2017-03-05 19:03:12 1675

原创 Java创建线程的两个方法

Java提供了线程类Thread来创建多线程的程序。其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象。每个Thread对象描述了一个单独的线程。要产生一个线程,有两种方法:◆需要从Java.lang.Thread类派生一个新的线程类,重载它的run()方法; ◆实现Runnalbe接口,重载Runnalbe接口中的run()方法。

2017-02-28 14:51:09 499

elastic-job-lite-console-3.0.0.M1-SNAPSHOT.tar.gz

用maven已编译安装好的elastic-job控制台,直接解压后,再到bin目录下双击start.bat启动,访问:localhost:8899 ,登录用户名:root,密码:root

2019-12-31

智能家居会展策划书.docx

根据智能家居展会的环境分析、背景分析、SWOT分析等要求,策划设计出智能家居会展策划书,包括展会的框架、会展工作人员分工计划、宣传推广、实施方案、筹备进度计划、风险防范等内容。此文档适用于仅适用于学习,不得用于商用!

2019-12-19

NoSQL数据库PPT

NoSQL数据库相关知识介绍

2017-03-07

Java网络爬虫(蜘蛛)源码

一个JAVA开发的简单网络爬虫 可以实现对指定站点新闻内容的获取 程序很简单 大家一起学习

2016-10-18

Spring实现AOP的四种方式

配置可以通过xml文件来进行,大概有四种方式: 1. 配置ProxyFactoryBean,显式地设置advisors, advice, target等(基于代理的AOP ) 2. 配置AutoProxyCreator,这种方式下,还是如以前一样使用定义的bean,但是从容器中获得的其实已经是代理对象 3. 通过<aop:config>来配置(纯POJO切面) 4. 通过<aop: aspectj-autoproxy>来配置,使用AspectJ的注解来标识通知及切入点

2016-09-25

java软件工程师要学的东西

这是一个初学者要想学的东西,包括各种语言、技术、管理等,仅供参考!

2012-07-04

eclipse3.5下struts2基本配置

对于Struts2在Eclipse_3.5_javaee、Tomcat6.0、jdk1.5环境下配置与实现。Struts2具体版本为Struts2-2.2.1

2012-07-04

用arcGIS绘制地图

用ArcGIS 绘制一幅完整的地图.用ArcGIS 制图关键是前期的设计,前期把图中需要表达的各要素类以及每个要素类中 的要素分类考虑清楚,建好模板,后面的画图基本上是批量生产,只要数据准备好往里一倒 就行了,其实并不麻烦。如果前期考虑得不是很清楚也没关系,只要最基本的的必选项能保 证,其它的只要改模板就行,并不影响大局。下面以小比例尺的地理底图为例具体描述 ArcGIS 从设计、制图、质量检查到地图输出的全过程,希望对大家有用。

2012-07-04

SQL数据库对于海量数据面试题及答案

本文整理和大家分享一些SQL数据库对于海量数据面试题及答案给大家,很不错哦,喜欢请收藏一下。

2011-01-08

ASP成绩查询系统源码.rar

简单方便的用户查询系统和强大的后台管理系统结合,使学校方便的录入,管理考试批次,学生成绩, 而用户只需要做简单的查询就可以迅速获取所需成绩。 【主要功能特色】 1) 用户查询成绩:可以按姓名或者学号查询某次考试的成绩 2) 后台方便的进行考试批次管理,添加,修改,删除,并可导出记录为Excel文档 3) 后台方便的进行成绩管理,添加,修改,删除,并可导出记录为Excel文档 4) 后台最新讯息管理: 本站新闻,证书介绍,校园新闻,所有栏目均可以自定义,并可发表文章,新闻消息 5) 后台数据库备份:压缩数据库,备份数据库,恢复数据库 6) 管理员密码账号管理,管理员添加,修改,删除

2010-10-30

ASP动态网页教程.rar

ASP动态网页教程 ASP动态网页教程 ASP动态网页教程

2010-10-30

----ASP分页技术

最好ASP分页技术,让大家看看我做的ASP分页技术

2010-07-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除