Java
文章平均质量分 75
JVAV晓逸
这个作者很懒,什么都没留下…
展开
-
架构师必备技能:数据库优化手术刀——实战分库分表
在最初,应用的数据量比较少,没有任何压力,一般会将所有的数据放在一个库中。但是随着业务的增长,数据量急剧增长,DB压力增大,似乎随时都会挂掉。此时,优化DB的使用已经是势在必行,以下有几个方案。1优化对DB的使用读写分离(肯定一开始就做了……)、索引、使用合理的sql等等。一些简单的优化可以先做,复杂的优化如果时间允许能先做是最好的,但如果是一直被业务赶着走,抽不出时间做,翻译 2018-01-28 15:50:49 · 527 阅读 · 0 评论 -
告诉你们XML解析方法详解之自动化测试系列笔记
XML现在已成为一种通用的数据交换格式,平台的无关性使得很多场合都需要用到XML。深入了解前端知识更能充分解决自动化的异常类问题。一、1、XML有三种解析方式:DOM SAX STAX2、XML的作用(企业应用):存储数据、配置文件、传输数据。存储和传输数据经常一起使用,XML数据通常由程序生成的,用程序解析XML(XML一般不加约束)配置文件单独使用(翻译 2018-01-09 17:00:06 · 342 阅读 · 0 评论 -
Spring Boot实战:Spring Boot核心原理剖析
Spring Boot基本配置介绍1 关闭某个自动配置通过上节@SpringBootApplication下的@EnableAutoConfiguration得知,Spring Boot会根据项目中的jar包依赖,自动做出配置,Spring Boot支持的自动配置如下(非常多):Java假如我们不需要Spring Boot自动配置,想关闭某一项的自动配置,该翻译 2018-01-09 16:58:49 · 1737 阅读 · 0 评论 -
初学者必看的JavaScript 七大点!
这里有一些 Javascript初学者应该知道的技巧和陷阱。如果你已经是专家了,顺便温习一下。Javascript也只不过是一种编程语言。怎么可能出错嘛?1. 你有没有尝试给一组数字排序?Javascript 的sort()函数在默认情况下使用字母数字(字符串Unicode码点)排序。所以[1,2,5,10].sort() 会输出 [1, 10, 2, 5].要正确的排序一翻译 2018-01-08 20:55:06 · 452 阅读 · 0 评论 -
Java-jdk安装与注意事项
一、安装JDK选择安装目录,安装过程中会出现两次安装提示 。第一次是安装jdk,第二次是安装 jre 。建议两个都安装在同一个java文件夹中的不同文件夹中。(不能都安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错)如下图所示java二、安装jdk 随意选择目录 只需把默认安装目录 java 之前的目录修改即可三、安装jre→更改→ java 之前目录和翻译 2018-01-08 20:53:09 · 1917 阅读 · 0 评论 -
原来高效学习java的方法是这样的……
我并不是计算机专业出身的学生,大学里面虽然学过一些编程语言,但是相对于开发来说,那也只能算是简单的了解一门语言罢了。我并不是一个天赋好,基础扎实的学生,但是我有一套自己的Java技术学习方法。java学习心得我们要认清自己是来学习的,凭什么可以拿到高薪,不要以为来了千锋高薪就唾手可得,尽管给我们制定了一个完整的学习方案,安排了优秀的老师指导我们学习。但是不脚踏实地的学习,不付出努力,高翻译 2018-01-08 20:50:30 · 6442 阅读 · 1 评论 -
httpclient 调用工具(同时支持 HTTP 和 HTTPS 协议)
简介接口调用是作为后端开发人员在编码过程中的日常,而 HTTP 协议可能是现在 Internet 上使用最多、最重要的协议。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的翻译 2018-01-25 12:01:17 · 2216 阅读 · 0 评论 -
你知道在java泛型中KTVE等的代表含义吗?我来告诉你
K : Key(健,常在集合中使用)V : Value(值,常在集合中使用)E : Element(元素,常在集合中使用)T : Type(类型,常代表 java 类)? : 表示不确定的 java 类型(无限制通配符类型)N : Number(数值类型)S、U、V : 2nd、3rd、4th typesObject : java 中所有类的翻译 2018-01-25 12:00:32 · 786 阅读 · 0 评论 -
理解 JVM:JVM 内存模型
Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途,以及创建和销毁的时间。有的区域随着虚拟机进程的启动就存在了, 有的区域则是依赖用户线程。根据《Java虚拟机规范(第二版)》,Java 虚拟机所管理的内存包含以下的几个区域。Java运行时数据区(Runtime Data Area)由上图可以看出,在运行时数据区中翻译 2018-01-25 11:59:53 · 2123 阅读 · 0 评论 -
教你们MyBatis 快速入门,还不快快收藏
导入依赖包前面介绍了MyBatis的相关知识,现在来介绍一下如何和Spring进行集成。MyBatis和Spring的集成工作是由MyBatis团队完成的。所以我们首先要先引入MyBatis和Spring的集成依赖包。这里我用的是Gradle,如果使用其他构建工具,将下面的语句改为相应的。compile group: 'org.mybatis', name: 'mybatis-spring翻译 2018-01-17 14:18:02 · 865 阅读 · 1 评论 -
网络管理监视很重要!这十个 Linux 网络监视工具轻松搞定
保持对我们的网络的管理,防止任何程序过度使用网络、导致整个系统操作变慢,对管理员来说是至关重要的。有几个网络监视工具可以用于不同的操作系统。在这篇文章中,我们将讨论从 Linux 终端中运行的 10 个网络监视工具。它对不使用 GUI 而希望通过 SSH 来保持对网络管理的用户来说是非常理想的。iftopiftop network monitoring toolLi翻译 2018-01-17 14:15:07 · 10537 阅读 · 0 评论 -
微博每日数十亿级业务下的计数器如何扩展Redis?
在Feed系统中,有简单数据类型的缓存,有集合类数据的。还有一些个性业务的缓存。比如大量的计数器场景,存在性判断场景等。微博解决存在性判断业务的缓存层叫EXISTENCE 缓存层,解决计算器场景的缓存叫COUNTER缓存。EXISTENCE 缓存层主要用于缓存各种存在性判断的业务,诸如是否已赞(liked)、是否已阅读(readed)这类需求。Feed系统内部有大量的计数场景,如用户维度有翻译 2018-01-17 14:12:59 · 536 阅读 · 0 评论 -
基于 springMVC 的 RESTful HTTP API 实践(服务端)
理解 RESTREST(Representational State Transfer),中文翻译叫“表述性状态转移”。是 Roy Thomas Fielding 在他2000年的博士论文中提出的。它与传统的 SOAP Web 服务区别在于,REST关注的是要处理的数据,而 SOAP 主要关注行为和处理。要理解好 REST,根据其首字母拆分出的英文更容易理解。表述性(Represent翻译 2018-01-24 11:07:17 · 340 阅读 · 0 评论 -
记一次http接口调试问题
在开发工程中,在开发工程中,我们经常会遇到和其它第三方厂家有接口数据来往的情况。这是一次我们作为客户端去获取另一个厂家推流的直播地址的接口,这个接口情况有些不一样,我们需要在一个接口中封装两次http请求,大概场景是这样的:第一次调用方式是POST,第二次是Get,第一次调用会获取到一个地址,返回结果类似这样的:Java这里获取到接口返回一个带参数的地址,这里注意一翻译 2018-01-24 11:06:18 · 789 阅读 · 0 评论 -
httpclient 调用工具(同时支持 HTTP 和 HTTPS 协议)
简介接口调用是作为后端开发人员在编码过程中的日常,而 HTTP 协议可能是现在 Internet 上使用最多、最重要的协议。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的翻译 2018-01-24 11:05:26 · 2587 阅读 · 0 评论 -
MyBatis之Mapper XML 文件详解(一)
MyBatis 的真正强大在于它的映射语句,也是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 就是针对 SQL 构建的,并且比普通的方法做的更好。SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序):cache – 给定命名空间的缓存配置。cache-ref翻译 2018-01-18 11:57:21 · 1019 阅读 · 1 评论 -
MyBatis之Mapper XML 文件详解-自动映射查询结果
正如你在前面一节看到的,在简单的场景下,MyBatis可以替你自动映射查询结果。 如果遇到复杂的场景,你需要构建一个result map。 但是在本节你将看到,你也可以混合使用这两种策略。 让我们到深一点的层面上看看自动映射是怎样工作的。当自动映射查询结果时,MyBatis会获取sql返回的列名并在java类中查找相同名字的属性(忽略大小写)。 这意味着如果Mybatis发现了ID列和id属性,M翻译 2018-01-18 12:01:29 · 2803 阅读 · 0 评论 -
Spring 中的注解与分层思想
在Spring框架中最常见的几个注解@Controller, @Service, @Component, @Repository其中@Component是一种通用名称,泛指任意可以通过Spring来管理的组件,@Controller, @Service, @Repository则是一种特定的组件,通常用来表示某种特定场合下的组件,比如@Repository用来表示仓库(数据层,DA翻译 2018-01-28 15:50:11 · 823 阅读 · 0 评论 -
Springboot之spring-boot-autoconfigure模块
一、前言Spring的出现给我们管理bean的依赖注入提供了便捷,但是当我们需要使用通过pom引入的jar里面的一个bean时候,还是需要手动在xml配置文件里面主要注入的bean 。springboot则可以依据classpath里面的依赖内容来自动配置bean到IOC容器,Auto-configuration会尝试推断哪些beans是用户可能会需要的。比如如果HSQLDB包在当前class翻译 2018-01-28 15:49:44 · 12653 阅读 · 0 评论 -
必读的Mybatis缓存揭秘
一、前言因为在做项目时候遇到了mybatis缓存的坑,所以全面学习了下mybaits的缓存知识,一来避免后面再次采坑,二来为其他童鞋提供前车之鉴。二、Mybaits缓存作用为了提高数据库查询性能,缓解数据查询压力,后面会具体看到一级是在sqlsession级别缓存了查询结果和二级缓存则是在namespace级别缓存了查询结果。三、Mybaits一级缓存3.1翻译 2018-01-28 15:49:01 · 322 阅读 · 0 评论 -
SpringCloud-Eureka服务框架(Eureka服务配置)
对于服务发现框架可以简单的理解为服务的注册以及使用操作步骤,例如:在ZooKeeper组建中,这个组件里面已经明确的描述了一个服务的注册以及发现操作流程,在这个Rest架构里面,会存在有大量的微服务信息。Java在SpringCloud中使用了大量的开源项目,而其中Eureka就属于开源项目提供的发现服务组件,所有的微服务在使用之中全部向Eureka之中进行注册,而后客户端直接利用Eureka进行翻译 2018-01-19 09:38:54 · 479 阅读 · 0 评论 -
eclipse中Maven工程使用Tomcat7以上插件
Maven中使用tomcat:run命令默认是使用Tomcat6的版本,现在要用到Tomcat7以上的版本,在eclipse的Maven工程中配置如下第一步:在项目的pom里面加入如下配置:官网配置:http://tomcat.apache.org/maven-plugin-trunk/pluginManagement> plugins> plugin> groupId>org.apache翻译 2018-01-19 09:37:55 · 410 阅读 · 0 评论 -
利用Jenkins生成maven项目镜像及容器
1、Jenkins是什么目前持续集成(CI)已成为当前许多软件开发团队在整个软件开发生命周期内侧重于保证代码质量的常见做法。它是一种实践,旨在缓和和稳固软件的构建过程。并且能够帮助您的开发团队应对如下挑战:软件构建自动化:配置完成后,CI系统会依照预先制定的时间表,或者针对某一特定事件,对目标软件进行构建。构建可持续的自动化检查:CI系统能持续地获取新增或修改后签入的源代码,也就是说,当软件开发团翻译 2018-01-19 09:36:33 · 4253 阅读 · 0 评论 -
eclipse中Maven工程使用Tomcat7以上插件
Maven中使用tomcat:run命令默认是使用Tomcat6的版本,现在要用到Tomcat7以上的版本,在eclipse的Maven工程中配置如下第一步:在项目的pom里面加入如下配置:官网配置:http://tomcat.apache.org/maven-plugin-trunk/pluginManagement> plugins> plugin> grou翻译 2018-01-10 15:52:36 · 248 阅读 · 0 评论 -
SpringCloud-Eureka服务框架(Eureka服务配置)
对于服务发现框架可以简单的理解为服务的注册以及使用操作步骤,例如:在ZooKeeper组建中,这个组件里面已经明确的描述了一个服务的注册以及发现操作流程,在这个Rest架构里面,会存在有大量的微服务信息。Java在SpringCloud中使用了大量的开源项目,而其中Eureka就属于开源项目提供的发现服务组件,所有的微服务在使用之中全部向Eureka之中进行注册,而后客户端翻译 2018-01-10 15:46:00 · 363 阅读 · 0 评论 -
Spring webflux--响应式、非阻塞、事件驱型web框架
一、基本概念---阻塞(Blocking I/O)/非阻塞(Non-blocking I/O),同步(Synchronous I/O)/异步(Asynchronous I/O):在进行网络编程时,我们常常见到同步(Synchronous I/O)/异步(Asynchronous I/O),阻塞(Blocking I/O)/非阻塞(Non-blocking I/O)四种调用方式,下面将这翻译 2018-01-10 15:43:18 · 11425 阅读 · 0 评论 -
Struts2、Spring MVC及 Spring优缺点整理
Struts2的优点Struts2 是一个相当强大的Java Web开源框架,是一个基于POJO的Action的MVC Web框架。它基于当年的Webwork和XWork框架,继承其优点,同时做了相当的改进。Struts2现在在Java Web开发界的地位可以说是大红大紫,从开发人员的角度来分析,Struts2之所以能够如此的深入开发人员之心,与其优良的设计是分不开的。1、Stru翻译 2018-01-10 15:42:13 · 190 阅读 · 0 评论 -
Spring Boot中使用RabbitMQ
Message Broker与AMQP简介Message Broker是一种消息验证、传输、路由的架构模式,其设计目标主要应用于下面这些场景:消息路由到一个或多个目的地消息转化为其他的表现方式执行消息的聚集、消息的分解,并将结果发送到他们的目的地,然后重新组合相应返回给消息用户调用Web服务来检索数据响应事件或错误翻译 2018-01-26 11:05:04 · 270 阅读 · 0 评论 -
收藏贴 windows 环境下 vagrant 安装配置
vagrant 介绍vagrant 是一个虚拟机运行环境管理工具,通过它我们可以快速的通过命令搭建一个比较完善的开发环境,其本身并不是虚拟机。我们经常使用的虚拟机有 VirtualBox、VMware 等。环境和软件准备Windows 7 旗舰版vagrant2.0.0x86_64.msiVirtualBox-5.1.28-117968-Win.exe翻译 2018-01-26 11:04:32 · 587 阅读 · 0 评论 -
Spring:基于注解的 Spring MVC(下)
上一篇文章《Spring:基于注解的Spring MVC(上)》,讲了Spring MVC环境搭建、@RequestMapping以及参数绑定,这是Spring MVC中最基础也是最重要的内容,本篇文章继续讲讲Spring MVC中其余的知识点,先从Model开始。Model前一篇文章比较详细地解读了数据从页面请求到服务器后台的一些细节,那么下一个要解决的问题就是数据如何从后台再次传回前台翻译 2018-01-26 11:03:47 · 179 阅读 · 0 评论 -
MyBatis之Mapper XML 文件详解-sql和入参
sql这个元素可以被用来定义可重用的 SQL 代码段,可以包含在其他语句中。它可以被静态地(在加载参数) 参数化. 不同的属性值通过包含的实例变化. 比如: ${alias}.id,${alias}.username,${alias}.password 这个 SQL 片段可以被包含在其他语句中,例如:select,from some_table t1cross join some_table t2翻译 2018-01-18 12:05:13 · 877 阅读 · 0 评论 -
jvm学习笔记
一、java的运行原理jvm开发人员编写java代码(.java文件)编译器将.java文件编译成字节码文件(.class文件)字节码被装入内存,当字节码被装入内存之后,它就会被解释器解释执行或是被即时编译器有选择的转换成机器码执行二、jvm体系结构jvm1、类装载(classLoader)子系统根据给定的全限定名类名来装在.class文翻译 2018-01-16 10:55:37 · 317 阅读 · 0 评论 -
spring-cloud短篇介绍
首先来介绍下spring-cloud是什么。spring-cloud旨在为开发人员提供一些快速构建分布式系统的工具,例如配置管理,服务发现、断路器、智能路由、微代理(micro-proxy)、控制总线、一次性令牌、全局锁、领导选举、分布式session、集群监控,使用spring-cloud的开发人员可以快速的使用spring-cloud开发出属于自己的分布式应用,他们可以在任何分布式环境中工作(翻译 2018-01-16 10:53:11 · 214 阅读 · 0 评论 -
Dubbo分布式服务框架搭建
Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案。以下是一个简单的dubbo架构图。dubbo笔者从刀耕火种的原始web开发时代一直走到现在,感慨良多。从单体应用,到mvc模型,再到使用webservice,企业服务总线,一直到dubbo,每一次理念的升级,都是带来开发工作的解放。互联网技术日新月异,活到老学到老是必须的翻译 2018-01-16 10:51:44 · 345 阅读 · 0 评论 -
教你如何Zookeeper集群安装。。。
1. 在根目录创建zookeeper文件夹(service1、service2、service3都创建)[root@localhost /]# mkdir zookeeper通过Xshell上传文件到service1服务器:上传zookeeper-3.4.6.tar.gz到/software文件夹2.远程copy将service1下的/software/zookeeper-翻译 2018-01-14 15:22:14 · 275 阅读 · 0 评论 -
Struts2、Spring MVC及 Spring优缺点整理
Struts2的优点Struts2 是一个相当强大的Java Web开源框架,是一个基于POJO的Action的MVC Web框架。它基于当年的Webwork和XWork框架,继承其优点,同时做了相当的改进。Struts2现在在Java Web开发界的地位可以说是大红大紫,从开发人员的角度来分析,Struts2之所以能够如此的深入开发人员之心,与其优良的设计是分不开的。1、Stru翻译 2018-01-22 11:03:50 · 439 阅读 · 0 评论 -
Spring webflux--响应式、非阻塞、事件驱型web框架
一、基本概念---阻塞(Blocking I/O)/非阻塞(Non-blocking I/O),同步(Synchronous I/O)/异步(Asynchronous I/O):在进行网络编程时,我们常常见到同步(Synchronous I/O)/异步(Asynchronous I/O),阻塞(Blocking I/O)/非阻塞(Non-blocking I/O)四种调用方式,下面将这翻译 2018-01-22 11:02:44 · 1402 阅读 · 0 评论 -
你一定不知道的java CountDownLatch-简书
前言JDK的并发包中提供了几个非常有用的工具类,这些工具类给我们在业务开发过程中提供了一种并发流程控制的手段,本文会基于实际应用场景介绍如何使用CountDownLatch,以及内部实现机制。CountDownLatch是什么CountDownLatch也叫闭锁,在JDK1.5被引入,允许一个或多个线程等待其他线程完成操作后再执行。CountDownLatch内部会维护一个初始值为翻译 2018-01-22 11:01:43 · 189 阅读 · 0 评论 -
web.xml 组件加载顺序,你收藏了吗?
在配置项目组件的过程中, 了解Tomcat加载组件顺序很有必要。 例如某些框架如Quartz的集群功能需要数据库的支持, 数据库的加载肯定要在框架组件加载之前。经过查阅和Debug发现, web.xml组件加载顺序为:context-param -> listener -> filter -> servlet(同类则按编写顺序执行)。web.xml常用组件解析:web-app>翻译 2018-01-21 11:14:32 · 162 阅读 · 0 评论 -
告诉你们XML解析方法详解之自动化测试系列笔记
XML现在已成为一种通用的数据交换格式,平台的无关性使得很多场合都需要用到XML。深入了解前端知识更能充分解决自动化的异常类问题。一、1、XML有三种解析方式:DOM SAX STAX2、XML的作用(企业应用):存储数据、配置文件、传输数据。存储和传输数据经常一起使用,XML数据通常由程序生成的,用程序解析XML(XML一般不加约束)配置文件单独使用(翻译 2018-01-21 11:12:42 · 1478 阅读 · 0 评论