排序:
默认
按更新时间
按访问量

ClassNotFoundException和NoClassDefFoundError

ClassNotFoundException和NoClassDefFoundErrorClassNotFoundExceptionNoClassDefFoundError解决方案最后总结 最近工作中发现老是有同事遇到NoClassDefFoundError以及ClassNotFoundExcep...

2018-10-25 17:11:40

阅读数:55

评论数:0

浅谈服务治理与微服务

近期都在谈微服务,本人也正在做相关的工作,应领导要求做了一个微服务的分享,本篇文章主要来源于分享的PPT。本篇文章先简单介绍了互联网架构的演变,进而介绍了服务化,最后再介绍微服务,微服务是服务治理的升级也是互联网架构的进一步延伸。互联网架构演变一体架构在计算机软件发展早期,一般桌面软件都是采用这种...

2017-01-03 15:29:28

阅读数:44552

评论数:12

关于网络IO中的同步、异步、阻塞、非阻塞

在高并发编程当中,我们经常会遇到一些异步、非阻塞等一些概念,一些常用的技术比如异步的httpclient、netty nio、nginx、node.js等,它们的原理大都跟异步、非阻塞有关。特别是在服务器开发中,并发的请求处理是个大问题,阻塞式的函数会导致资源浪费和时间延迟。通过事件注册、异步函数...

2016-10-10 17:57:39

阅读数:3705

评论数:0

关于分布式事务

一、普通事务与分布式事务1.1 普通事务普通事务就是一般所说的数据库事务,大家对数据库事务应该都很了解,这里再简单介绍下。事务是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。当事务被提交给了DBMS(数据库管理系统),则DBMS(数据库管理系统)需要确保该事务中的所有操作...

2016-09-28 18:51:35

阅读数:13230

评论数:12

数据库索引原理及优化

本文内容主要来源于互联网上主流文章,只是按照个人理解稍作整合,后面附有参考链接。一、摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希...

2016-09-26 14:30:10

阅读数:44554

评论数:11

全面理解Java内存模型

Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共...

2016-09-21 18:39:21

阅读数:116468

评论数:74

volatile和synchronized的区别

volatile和synchronized特点首先需要理解线程安全的两个方面:执行控制和内存可见。执行控制的目的是控制代码执行(顺序)及是否可以并发执行。内存可见控制的是线程执行结果在内存中对其它线程的可见性。根据Java内存模型的实现,线程在具体执行时,会先拷贝主存数据到线程本地(CPU缓存),...

2016-09-21 18:16:55

阅读数:20322

评论数:5

如何设计一个秒杀系统

什么是秒杀秒杀场景一般会在电商网站举行一些活动或者节假日在12306网站上抢票时遇到。对于电商网站中一些稀缺或者特价商品,电商网站一般会在约定时间点对其进行限量销售,因为这些商品的特殊性,会吸引大量用户前来抢购,并且会在约定的时间点同时在秒杀页面进行抢购。秒杀系统场景特点 秒杀时大量用户会在同一时...

2016-09-21 14:23:39

阅读数:40987

评论数:8

什么是线程安全

线程安全是多线程领域的问题,线程安全可以简单理解为一个方法或者一个实例可以在多线程环境中使用而不会出现问题。产生线程不安全的原因在同一程序中运行多个线程本身不会导致问题,问题在于多个线程访问了相同的资源。如,同一内存区(变量,数组,或对象)、系统(数据库,web services等)或文件。实际上...

2016-08-09 17:20:06

阅读数:9126

评论数:0

Java 异常设计最佳实践

关于异常在讲Java异常实践之前,先理解一下什么是异常。到底什么才算是异常呢?其实异常可以看做在我们编程过程中遇到的一些意外情况,当出现这些意外情况时我们无法继续进程正常的逻辑处理,此时我们就可以抛出一个异常。广义的讲,抛出异常分三种不同的情况: 编程错误导致的异常 :在这个类别里,异常的出现是由...

2016-08-05 10:49:31

阅读数:4269

评论数:0

Integer.parseInt("") Integer.valueOf("")和new Integer("")之间的区别

把一个String转换成int有Integer.parseInt("")、 Integer.valueOf("")和new Integer("")这么几种方式,它们之间有什么区别呢?我们可以分别看一下它们的源码//Integer.pars...

2016-08-03 10:47:19

阅读数:13002

评论数:8

RESTEasy中的通用异常处理ExceptionMapper

RESTEasy是JBoss提供的一个Restful基础框架,使用它我们可以很方便的构建我们的Restful服务,而且它也完全符合Java的JAX-RS2.0标准,很多第三方Restful框架也都是基于RESTEasy开发的。

2016-08-02 14:45:08

阅读数:3757

评论数:0

使用Charles进行移动APP抓包分析

一、简介Charles是目前最强大最流行的http抓包调试工具,Mac、Unix、Windows各个平台都支持。特别是做APP开发,调试与服务端的通信,Charles是必备工具。目前Charles是收费的,不过可以破解。 Charles下载地址:http://share.weiyun.com/6b...

2016-08-01 17:19:33

阅读数:31622

评论数:1

线程之间的通信(thread signal)

线程通信的目的是为了能够让线程之间相互发送信号。另外,线程通信还能够使得线程等待其它线程的信号,比如,线程B可以等待线程A的信号,这个信号可以是线程A已经处理完成的信号。通过共享对象通信有一个简单的实现线程之间通信的方式,就是在共享对象的变量中设置信号值。比如线程A在一个同步块中设置一个成员变量h...

2016-07-08 17:57:04

阅读数:10008

评论数:0

java thread中的wait()和notify()

关于线程的状态java thread有五种状态类型 新建状态(New):新创建了一个线程对象。 就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。 运行状态(Running):就绪状态的线程获...

2016-07-07 16:46:21

阅读数:1187

评论数:1

MySQL数据类型及字段属性

MySQL 数据类型MySQL中定义数据字段的类型对你数据库的优化是非常重要的。MySQL支持多种类型,大致可以分为三类: 数值 日期/时间 字符串(字符) 数值类型MySQL支持所有标准SQL数值数据类型。 这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NU...

2016-07-06 18:11:18

阅读数:6922

评论数:0

Java Lambda 表达式介绍

Lambda 表达式是 Java SE8 推出的新功能,也是Java第一次引入函数式编程的尝试。Lambda表达式格式Lambda 表达式可以看做是一种匿名函数,但是它没有访问修饰符、返回值和名字。Lambda表达式由两部分构成,形式参数和方法体,中间用“->”符号分隔。其中的形式参数类型能...

2016-07-04 16:09:40

阅读数:740

评论数:0

Java 注解详解 (annotation)

什么是java注解注解是java5的新特性。注解可以看做一种注释或者元数据(MetaData),可以把它插入到我们的java代码中,用来描述我们的java类,从而影响java类的行为。Java注解的目的使用Java注解一般来说主要有三种目的 构建时指示: RetentionPolicy.SOURC...

2016-07-01 14:55:45

阅读数:4464

评论数:0

java 内部类(inner class)详解

一、为何使用内部类 内部类提供了更好的封装,只有外部类能访问内部类 内部类可以独立继承一个接口,不受外部类是否继承接口影响 内部类中的属性和方法即使是外部类也不能直接访问,相反内部类可以直接访问外部类的属性和方法,即使private 利于回调函数的编写 一个内部类的例子:public clas...

2016-06-30 17:30:17

阅读数:21354

评论数:0

Java RMI 介绍

一、Java RMI 概览Java RMI 指的是远程方法调用 (Remote Method Invocation)。它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。所以,RMI相关对象必须运行在Java虚拟机中。在Java中,只要一个类exten...

2016-06-24 10:36:45

阅读数:801

评论数:0

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