自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 解决高并发的三大策略之面对峰值响应冲击

**解决高并发的三大策略之面对峰值响应冲击**当前在互联网+的大潮下,众所周知淘宝、京东这些交易系统每天产生的数据量都是海量的,每天的交易并发也是惊人的,尤其是“双11”、“6.18”这些活动,对系统的峰值响应提出了非常高的要求,所以对系统架构也就有了很要的要求。在写这篇博客的前2天,听说某系统在25人的用户量下就宕机了,实在让人震惊,所以捋了下互联网交易系统我们可以采取哪些技术来解决互联...

2019-10-24 08:46:58 441

原创 经纬度与WGS84坐标转换

经纬度与WGS84坐标转换经纬度与WGS84坐标转换经纬度与WGS84坐标转换本代码实现在WGS84系统的大地坐标(BLH)和空间直角坐标(XYZ)的互相转换,符合标准语法,可直接使用Module CorrTrans !// WGS84 系统BLH坐标与空间直角坐标转换 !// Fortran Coder http://fcode.cn !// Adapted from Acheng's C++ code Implicit None Integer , parameter :: D

2021-06-30 07:27:19 7591

原创 一张图让你彻底知道JVM内存模型

2021-04-21 16:16:36 199

原创 HTTP状态码大全

HTTP状态码大全写在前面404500502301 307200写在前面我们在开发Web服务的时候,经常会遇到404,500等错误。对于初学者来说遇到错误,不知如何下手,今天我们来看看每个状态都表示什么意思?HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。404404 表示没有发现请求的资源,在开发的时候

2021-04-09 15:02:31 319

原创 大牛:你真的懂反射吗?

大牛:你真的懂反射吗?反射是框架设计的灵魂一、反射的概述二、查看Class类在java中的api详解(1.7的API)三、反射的使用(这里使用Student类做演示)反射是框架设计的灵魂一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先

2021-04-08 19:40:20 147

原创 玩转linux 这些命令就够了

玩转linux 这些命令就够了系统信息关机 (系统的关机、重启以及登出 )文件和目录文件搜索挂载一个文件系统磁盘空间用户和群组文件的权限 - 使用 "+" 设置权限,使用 "-" 用于取消文件的特殊属性 - 使用 "+" 设置权限,使用 "-" 用于取消打包和压缩文件RPM 包 - (Fedora, Redhat及类似系统)YUM 软件包升级器 - (Fedora, RedHat及类似系统)DEB 包 (Debian, Ubuntu 以及类似系统)APT 软件工具 (Debian, Ubuntu 以及类似系

2021-04-08 17:38:37 689

原创 跨域请求方案 终极版

跨域请求方案 终极版什么是跨域?什么是同源策略?常见跨域场景跨域解决方案一、 通过jsonp跨域二、 document.domain + iframe跨域三、 location.hash + iframe跨域四、 window.name + iframe跨域五、 postMessage跨域六、 跨域资源共享(CORS)七、 nginx代理跨域八、 Nodejs中间件代理跨域九、 WebSocket协议跨域什么是跨域?跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。广义的跨域:

2021-04-08 17:21:36 104

原创 Java集合深度解析之LinkedList

Java集合深度解析之LinkedListLinkedList简介ArrayList源码剖析几点总结LinkedList简介LinkedList是基于双向循环链表(从源码中可以很容易看出)实现的,除了可以当做链表来操作外,它还可以当做栈、队列和双端队列来使用。LinkedList同样是非线程安全的,只在单线程下适合使用。LinkedList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了Cloneable接口,能被克隆。ArrayList源码剖析LinkedLi

2021-04-08 16:49:28 109

原创 Java集合深度解析之ArrayList

Java集合深度解析之ArrayListArrayList简介ArrayList简介ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的CopyOnWriteArrayList类。ArrayList实现了S

2021-04-08 15:30:43 128

原创 Java集合深度解析之HashMap

Java集合深度解析之HashMapHashMap简介HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap。HashMap 实现了Serializable接口,因此它支持序列化,实现了Cloneable接口,能被克隆。HashMap源码剖析HashMap的源码如下(加入

2021-04-08 15:09:39 109

原创 JSONP解决跨域问题

JSONP解决跨域问题Ajax技术啥是跨域怎么解决跨域问题使用JSONP解决跨域问题什么是JSONPJSONP的具体实现JSONP服务器错误的处理JSONP POST问题参考资料Ajax技术Asynchronous JavaScript and XML (Ajax) 是Web2.0的关键技术。Ajax允许在不干扰Web应用程序的显示和行为的情况下在后台进行数据检索。使用XMLHttpRequest函数获取数据,它是一种API,允许客户端JavaScript 通过 HTTP 连接到远程服务器。不过,由

2021-04-08 10:30:37 294

原创 认识JSONP

认识JSONP什么是jsonpFIRST 1为什么需要JSONP?JSONP的原理什么是jsonp什么是jsonp,jsonp是什么,jsonp如何使用FIRST 1jsonp的核心原理就是目标页面回调本地页面的方法,并带入参数我们常用的动态页面有jsp,php,aspx为什么需要JSONP?由于浏览器安全限制,数据是不可以直接跨域(包括不同的根域名、二级域名、或不同的端口)请求的,除非目标域名授权你可以访问。比如设置crossdomain.xml 或在http头部里授权但是crossdom

2021-04-08 09:56:38 203 4

原创 信息系统项目管理师知识点(第 1 章)-信息系统基础知识

信息系统基础知识第 1 章信息系统基础知识1.1 信息系统1.1.1 信息系统的概念1.1.2 信息系统的类型1 . 2 信息系统建设1.2.1 信息系统的生命周期1.2 . 2 信息系统建设原则1.2 . 3 信息系统规划方法1.2 . 4 信息系统开发方法第 1 章信息系统基础知识知识点:( 1 ) 信息系统。包括信息系统的概念、信息系统的功能、信息系统的类型和信息系统的发展。( 2 ) 信息系统建设。包括信息系统建设的复杂性、信息 系 统 的 生 命 周 期 (各阶段目标及其主要工作内容)、信

2021-02-02 18:03:02 1211

原创 Maven-整合(Eclipse、IDEA)

Mave-整合1 Maven整合Eclipse1.1 Eclipse m2e1.2 Eclipse IAM1.3 通过Eclipse Marketplace安装Maven插件1 Maven整合EclipseMaven整合Eclipse就是在Eclipse中安装Maven的插件,这样我们就可以直接在Eclipse上使用Maven,而不需要去命令窗口敲Maven命令了。有两个Maven插件我们可以用来整合Eclipse,实际应用中安装其中一个就可以了。1.1

2021-02-01 16:46:13 185

原创 Maven-Dependency使用

Maven-Dependency使用1 Dependency介绍1.1 依赖的传递性1.2 依赖项的作用域1.3 dependencyManagement介绍1.3.1集中管理依赖项1.4 引入依赖项1 Dependency介绍1.1 依赖的传递性当项目A依赖于B,而B又依赖于C的时候,自然的A会依赖于C,这样Maven在建立项目A的时候,会自动加载对C的依赖。依赖传递对版本的选择假设A依赖于B和C,然后B依赖于D,D又依赖于E1.0,C

2021-02-01 16:31:44 2794

原创 Maven仓库

Maven仓库Maven仓库介绍简介1.2 安装第三方jar包到本地仓库1.3 部署第三方jar包到远程仓库Maven仓库介绍简介Maven仓库是用来存储工件的。Maven仓库主要包括本地仓库和远程仓库。当Maven需要一个工件的时候,它会先从本地仓库取,只有在本地仓库不存在对应的工件的时候,才会从远程仓库把对应的工件下载下来保存在本地仓库,并从本地仓库获取所需的工件。默认的本地仓库位置是用户家目录下面的“.m2/repository”,我们可以在Maven安装目录下面的setting

2021-02-01 16:19:24 157

原创 Maven-profile介绍

Maven-profile介绍1.1 profile简介1.2 profile的定义位置1.3 profile中能定义的信息1.3.1 profile定义在settings.xml中1.3.2 profile定义在pom.xml中1.1 profile简介profile可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。比如说,我们可以通过

2021-02-01 16:13:11 230

原创 Maven使用

Maven使用1.1 使用maven建立自己的项目1.2 使用mvc compile进行源码编译1.3 使用mvc test-compile编译测试源码1.4 使用mvc test编译源码和测试源码进行测试1.5 使用mvn package进行项目打包1.6 使用mvn install安装jar包到maven的本地仓库1.7 使用mvn deploy可以安装当前项目到远程仓库1.8 使用mvn clean可以清除存放临时文件的target目录1

2021-02-01 15:48:54 254

原创 Maven的安装和settings.xml的配置

Maven的安装和settings.xml的配置1 Maven的安装2 配置Maven的环境信息1 Maven的安装安装Maven之前要确保已经安装好了jdk,并且配置好了环境变量JAVA_HOME。具体安装步骤如下:从apache网上下载maven项目的压缩包。下载地址为:http://maven.apache.org/download.html。比如现在最新的Maven版本是3.0.4,那么我下载好的安装文件就是apache-maven-3.0.4.zip。

2021-02-01 15:13:45 298

原创 Maven项目pom详解

Maven项目pom详解 什么是POM概览一,基本配置1.1 maven的协作相关属性1.2 POM之间的关系,继承、聚合与依赖1.2.1 继承1.2.1.1 被继承项目与继承项目是父子目录关系1.2.1.2 被继承项目与继承项目的目录结构不是父子关系1.2.2 聚合1.2.2.1 被聚合项目和子模块项目在目录结构上是父子关系1.2.2.2 被聚合项目与子模块项目在目录结构上不是父子关系1.2.2.3 聚合与继承同时进行1.2.3 依赖关系:依赖关系列表(dependency list)是POM的重要部分1

2021-02-01 10:41:47 1991

原创 手把手教你看MySQL官方文档

手把手教你看MySQL官方文档 前言:内容1.初识官方文档2.读活的文档3.几个小技巧总结前言:在学习和使用MySQL的过程中,难免会遇到各种问题。不知道当你遇到相关问题时会怎么做,我在工作或写文章的过程中,遇到不懂或需要求证的问题时通常会去查阅官方文档。慢慢的,阅读文档也有了一些经验,本篇文章将手把手教你阅读MySQL官方文档,希望可以给到各位一点小收获。内容1.初识官方文档如果你还没有仔细的看过MySQL官方文档,可以跟着我一步步体验下哦。首先打开参考文档首页,这里以5.7版本为例,首页地址:

2021-01-28 09:50:59 126

原创 git可视化工具—GitKraken

1.推荐一款git的可视化工具gitKraken,这款工具操作比较方便,UI也是我喜欢的风格,对没有太多git使用经验的新手比较友好,学习成本相对较低。尤其喜欢的一点就是它的分支和提交非常清晰。gitKraken.png2.git进阶命令1.pull取回远程主机某个分支的更新,再与本地的指定分支合并,pull = fetch + merge//快进式合并git pull(fast-...

2019-12-06 17:13:54 558

原创 LOG4J2 配置详解

原因:项目中需要对日志进行过滤-第一部分:完整配置模板-第二部分:各模块介绍-第三部分:参考引用log4j2官方测试结果,速读领先很明显完整配置模板<?xml version="1.0" encoding="UTF-8"?><!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEB...

2019-12-04 09:54:14 872

原创 物联网常见通信协议

1 概述在上一篇文章《物联网常见通信协议与通讯协议梳理【上】-通讯协议》中,对物联网常用通信协议和通讯协议作了区分,并对通讯协议进行了分享;本文将对常用的通信协议进行剖析,重点面向市场上使用率较高的,且又不是诸如TCP/IP之类老生常谈的。2 近距离通信协议2.1 RFIDRFID的空中接口通信协议规范基本决定了RFID的工作类型,RFID读写器和相应类型RFID标签之间的通讯规则...

2019-12-02 10:02:42 2243

原创 Java线程池原理

【强制】线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。说明:使用线程池的好处是减少在创建和销毁线程上所消耗的时间以及系统资源的开销,解决资源不足的问题。如果不使用线程池,有可能造成系统创建大量同类线程而导致消耗完内存或者“过度切换”的问题。之前在阅读《阿里巴巴JAVA开发手册》时发现,其中有一条对于线程资源的值用限制,要求使用线程池来创建和维护,那么什么是线程池呢,为什么是线程池?原理是什么?怎么使用它?有什么讲究呢?带着这一系列的问题,我们开始来探究一下,希望这篇文章对我们有所收获。

2019-10-27 19:05:46 167

原创 mybatis学习--缓存(一级和二级缓存)

**mybatis学习–缓存(一级和二级缓存)**MyBatis缓存我们知道,频繁的数据库操作是非常耗费性能的(主要是因为对于DB而言,数据是持久化在磁盘中的,因此查询操作需要通过IO,IO操作速度相比内存操作速度慢了好几个量级),尤其是对于一些相同的查询语句,完全可以把查询结果存储起来,下次查询同样的内容的时候直接从内存中获取数据即可,这样在某些场景下可以大大提升查询效率。MyBati...

2019-10-24 09:13:16 178 1

转载 JVM调优

JVM调优堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms35...

2019-10-15 10:42:46 81

空空如也

空空如也

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

TA关注的人

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