自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lichch的博客

万事皆因忙中错,好人半自苦中来

  • 博客(28)
  • 资源 (3)
  • 收藏
  • 关注

原创 Java NIO框架Netty(二)netty5例子,代码详解

这是一个netty快速入门的例子,也是我的学习笔记,比较简单,翻译于官方的文档整理后把所有代码注释放在每一行代码中间,简单明了地介绍一些基础的用法。首页这是基于netty5的例子,如果需要使用请依赖netty5的包。maven引用方式<dependency> <groupId>io.netty</groupId> <artifactId>netty-all</arti

2017-11-21 20:21:44 2850

转载 Java NIO框架Netty(一) – 原理和使用-Hello world

1,Netty原理和使用  Netty是一个高性能 事件驱动的异步的非堵塞的IO(NIO)框架,用于建立TCP等底层的连接,基于Netty可以建立高性能的Http服务器。支持HTTP、 WebSocket 、Protobuf、 Binary TCP |和UDP,Netty已经被很多高性能项目作为其Socket底层基础,如HornetQ Infinispan Vert.x Play Framewor

2017-11-14 19:02:16 2313

转载 java面试基础-Java中HashMap的实现

HashMap可谓JDK的一大实用工具,把各个Object映射起来,实现了“键--值”对应的快速存取。但实际里面做了些什么呢?  在这之前,先介绍一下负载因子和容量的属性。大家都知道其实一个 HashMap 的实际容量就 因子*容量,其默认值是 16×0.75=12; 这个很重要,对效率很一定影响!当存入HashMap的对象超过这个容量时,HashMap 就会重新构造存取表。这就是一个大问题,我后面

2017-07-18 20:46:35 522

原创 java面试基础-Java类加载原理及类加载器

Java和其他语言不同的是,Java是运行于Java虚拟机(JVM)。这就意味着编译后的代码是以一种和平台无关的格式保存的,而不是某种特定的机器上运行的格式。这种格式和传统的可执行代码格式有很多重要的区别。具体来说,不同于C或者C++程序,Java程序不是一个独立的可执行文件,而是由很多分开的类文件组成,每个类文件对应一个Java类。 另外,这些类文件并不是马上加载到内存,而是当程序需要的时候才加载

2017-07-17 19:56:07 395

转载 Java并发问题--乐观锁与悲观锁以及乐观锁的一种实现方式-CAS

首先介绍一些乐观锁与悲观锁:  悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。再比如Java里面的同步原语synchronized关键字的实现也是悲观锁。  乐观锁:顾名思义,就是很乐观,每次去拿数据的时候都

2017-06-16 17:02:40 588

转载 JProfiler入门教程-简单的java程序性能调优

推荐文章:JProfiler 入门教程一、安装JProfiler 从http://www.ej-technologies.com/下载5.1.2并申请试用序列号二、主要功能简介1.内存剖析 Memory profilerJProfiler 的内存视图部分可以提供动态的内存使用状况更新视图和显示关于内存分配状况信息的视图。所有的视图都有几个聚集层并且能够显示现有存在的对象和作为垃圾回收的对象。所

2017-06-15 16:57:43 3202

原创 RabbitMQ入门教程【1】-Hello World

RabbitMQ入门教程 For Java【1】 - Hello World RabbitMQ是消息代理。从本质上说,它接受来自生产者的信息,并将它们传递给消费者。在两者之间,它可以根据你给它的路由,缓冲规则进行传递消息。 如果你的工作中需要用到RabbitMQ,那么我建议你先在电脑上安装好RabbitMQ服务器,然后打开eclipse,一步步的学习RabbitMQ,这样你会对Rabbit

2017-06-05 17:48:36 429

原创 java高并发之CompletionService优化多线程并发

1:还是上个需求 工作流策略的一个节点,需要查询13个第三方的数据,并返回查询结果变量,由于时间的要求,必须实现并行查询,而且要求13个查询全部完成才能返回工作流节点。没看过上个帖子的可以看看 java高并发之有返回值的多线程并发 上一个帖子的实现是 执行Callable任务后,可以获取一个Future的对象,在该对象上调用get就可以获取到Callable任务返回的Object了

2017-05-27 16:09:51 2013

原创 java高并发之有返回值的多线程并发

需求: 工作流策略的一个节点,需要查询13个第三方的数据,并返回查询结果变量,由于时间的要求,必须实现并行查询,而且要求13个查询全部完成才能返回工作流节点。实现在节点创建13个线程并实现由返回值的线程并发。以下是实现参考的例子JAVA多线程实现的四种方式Java多线程实现方式主要有四种:继承Thread类、实现Runnable接口、实现Callable接口通过FutureTask包装器来创建Th

2017-05-27 11:49:40 2308

原创 Activity工作流(2)-入门安装运行第一个例子

1. 初识Activiti1.1. 工作流与工作流引擎工作流(workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。(我的理解就是:将部分或者全部的工作流程、逻辑让计算机帮你来

2017-05-24 15:58:50 30857 5

原创 Activity工作流(1)-三分钟了解工作流

一、 什么是工作流以请假为例,现在大多数公司的请假流程是这样的员工打电话(或网聊)向上级提出请假申请——上级口头同意——上级将请假记录下来——月底将请假记录上交公司——公司将请假录入电脑采用工作流技术的公司的请假流程是这样的员工使用账户登录系统——点击请假——上级登录系统点击允许就这样,一个请假流程就结束了有人会问,那上级不用向公司提交请假记录?公司不用将记录录入电脑?答案是,用的。但是这一切的工作

2017-05-24 10:54:40 2040

原创 SpringBoot 进阶2-与 Mybatis实现SpringMVC Web项目

一,热身Spring Boot是一个一全新框架。Spring Boot就是用来简化Spring应用的搭建以及开发过程。该框架致力于实现免XML配置,提供便捷,独立的运行环境,实现“一键运行”满足快速应用开发的需求。补充提示,Spring Boot 推荐采用基于 Java 注解的配置方式,而不是传统的 XML。只需要在主配置 Java 类上添加“@EnableAutoConfiguration”注解

2017-04-14 11:23:58 1050

原创 Spring Boot进阶1 - 整合Swagger2自动生成RESTful API文档

本文将介绍RESTful API可视化调试工具Swagger2,它可以轻松的整合到spring生态链中,并与Spring MVC程序配合组织出强大RESTful API文档。它既可以减少我们创建文档的工作量,同时又将说明内容整合入实现代码中,让维护文档和修改代码整合为一体,方便让我们在修改代码逻辑的同时方便的修改文档说明。另外Swagger2也提供了强大的页面测试功能来调试每个RESTful API

2017-04-13 18:00:16 953 1

转载 JAVA并发之BlockingQueue阻塞队列

前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而一个队列在数据结构中所起的作用大

2017-04-11 16:16:23 802 2

原创 微服务架构:理解什么是微服务

1 什么是微服务微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。微服务的概念源于2014年3月Martin Fowler所写的一篇文章“Microservices”(http://martinfowler.com/articles

2017-04-05 22:57:21 9210

原创 Spring boot 入门helloWorld

构建微服务:Spring boot 入门篇什么是spring boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,

2017-04-05 15:29:27 755 1

原创 ExecutorService-中断线程的操作shutdown和shutdownNow

前言最近在使用ExecutorService的时候,对于与ExecutorService相关的概念有些迷糊,加上本身ExecutorService内部的有些方法名在取名上也容易让使用者误解,导致犯了一些错误。在解决的过程中,偶尔看到了日本人写的一篇文章简单明了,通俗易懂所以想着翻译成中文希望能够帮助到与我有一样困惑的程序员朋友们。原文地址如下:闲话少说,文章如下虽然使用Executo...

2019-09-17 18:57:30 2086

转载 Java注解之Retention、Documented、Target介绍

Retention、Documented、Target介绍先看代码,后面一个个来解析:Retention注解Documented 注解Target注解Inherited 注解ps:总结自各大神先看代码,后面一个个来解析:/** * @author [email protected] * @title: IsMobile * @projectName miaoshacode...

2019-07-27 10:53:11 187

原创 java面试基础-Java中的反射机制

1)概念:是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。2)功能: 在运行时判断任意一个对象所属的类; 在运行时构造任意一个类的对象; 在运行时判断任意一个类所具有的成员变量和方法; 在运行时调用任意一个对象的方法; 生成动态代理。3)获得某个对象的具体

2017-08-21 19:28:50 503

原创 java面试基础-Java代码优化编程

可供程序利用的资源(内存、CPU时间、网络带宽等)是有限的,优化的目的就是让程序用尽可能少的资源完成预定的任务。优化通常包含两方面的内容:减小代码的体积,提高代码的运行效率。本文讨论的主要是如何提高代码的效率。本文大多数从网上摘录,部分建议仅供参考,有意见可以评论哦在Java程序中,性能问题的大部分原因并不在于Java语言,而是在于程序本身。养成好的代码编写习惯非常重要,比如正确地、巧妙地运用jav

2017-08-02 20:59:19 494

原创 java面试基础-Java中对Clone的理解

面试中经常遇到Clone的相关知识,今天总算是把Clone理解的比较透彻了!Java中Clone的概念大家应该都很熟悉了,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Clone机制是如何工作的?1. Clone和Copy 假设现在有一个User对象,User u1=new User(“U1001”,“Jason”,25),通常我们会有这样的赋值User u2=u1,这

2017-07-17 20:21:43 478 1

原创 最全的mysql学习笔记

以下为本人当年初学MySQL时做的笔记,也从那时起没再更新过,但还是囊括了基本的知识点,有时还翻出来查查。是不是干货,就看亲们了~绝对原创,欢迎转载,注意人品,呵呵哈哈~如果哪天笔记有更新了,我还是会更新该文章滴,其实笔记已经放到了GitHub上,只是没告诉你们而已,嚯嚯!/* 启动MySQL */ net start mysql/* 连接与断开服务器 */ mysql -h 地址 -P 端口

2017-06-28 11:46:30 351 1

原创 java提升之日志级别详细解读和怎么在项目中写Logging

1. 一个最基本的例子使用Logging框架写Log基本上就三个步骤 引入loggerg类和logger工厂类 声明logger 记录日志下面看一个例子//1. 引入slf4j接口的Logger和LoggerFactoryimport org.slf4j.Logger;import org.slf4j.LoggerFactory;public class UserServi

2017-05-09 16:38:29 870

原创 初试RESTful架构

理解RESTful架构越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种”互联网软件”采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,现在我

2017-04-13 11:00:34 308

原创 BlockingQueue实现类 LinkedBlockingQueue源码分析

LinkedBlockingQueue实现了BlockingQueue接口以及Serializable接口,是有序的FIFO队列,构造函数中,可传入一个最大容量值,如果没有传入,则默认是Integer.MAX_VAL,(1) 生产者方法:put,offer(2)消费者方法:take,poll,peek

2017-04-12 15:57:55 948

原创 修复断电损坏的MySQL数据表

遇到报错:Error: Table ‘p’ is marked as crashed and should be repaired Caused by: java.sql.SQLException: Table ‘表名’ is marked as crashed and should be repaired 1.表损坏的原因分析以下原因是导致mysql 表毁坏的常见原因: 1、 服务器突然断电导致

2017-04-12 10:58:48 2927

原创 Java权重分配的实现算法

现有一需求,就是假设有若干任务执行者执行一定数目的任务,并且任务的分配需按一定的权重比来进行。任务的分配是随机的,分配完毕后需要为每条任务打上执行者的标签(即被谁执行。)分配算法不难,但是用java写起来还是蛮巧妙的。 算法设计:1)总的任务数能被权重和整除,则每个人分配的数量就是:总任务数/权重和*权重2)总的任务数不能被权重和整除,则先按整除的数按1)的方式分,然后余数再优先分给权重较小的执行

2017-04-10 18:03:29 9175

转载 单点登陆入门

1 什么是单点登陆单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。较大的企业内部,一般都有很多的业务支持系统为其提供相应的管理和IT服 务。例如财务系统为财务人员提供财务的管理、计算和报表服务;人事系统为人事部门提供全公司人员的维护服务;各种业务

2017-04-05 11:35:57 311

lcc循环依赖重磅资料

lcc循环依赖11111111111111111111111111111111111111111

2022-09-12

一个简单aop分享.zip

个人分享pptAOP

2021-05-20

Table2Word.zip

数据表和表格转换

2021-04-21

JProfiler 使用说明

JProfiler 使用说明 目 录 1 JPROFILER'S START CENTER ........................................ 5 1.1 O PEN SESSION ..............................................................................5 1.2 N EW SESSION ...............................................................................6 1.2.1 New Session............................................................................................6 1.2.2 New server integration............................................................................7 1.3 C ONVERT SESSION .....................................................................17 1.4 O PEN SNAPSHOT ........................................................................17 2 2 管理SESSION ....................................................................... 18 2.1 A PPLICATION SETTINGS DIALOG .................................................18 2.1.1 session名 ...............................................................................................18 2.1.2 session类型 ...........................................................................................18 2.2 P ROFILING SETTINGS ..................................................................20 2.2.1 Adjusting call tree collection options....................................................20 2.2.2 JAVA 子系统........................................................................................23 3 监测视图................................................................................ 27 3.1 内存视图 ..................................................................................27 3.1.1 所有对象(ALL objects)...................................................................28 3.1.2 记录的对象(Recorded objects).......................................................29 3.1.3 分配调用树(Allocation call tree )..................................................29 3.1.4 分配热点视图(Allocation hot spots view)...................................29 JProfiler 使用说明 1 第 4 页 共 80 页 3.1.5 类跟踪(Class tracker)......................................................................30 3.2 CPU视图...................................................................................30 3.2.1 调用树视图(Call tree view) ............................................................30 3.2.2 热点视图(Hot spot view) ................................................................33 3.2.3 调用图(Call graph)..........................................................................34 3.3 线程视图 ..................................................................................40 3.3.1 线程历史视图.......................................................................................40 3.3.2 线程监控视图.......................................................................................41 3.3.3 死锁检测图形.......................................................................................43 3.3.4 当前监控使用视图...............................................................................43 3.3.5 监控使用历史视图...............................................................................44 3.3.6 监控使用统计.......................................................................................44 3.4 VM遥感监测视图....................................................................45 3.4.1 Heap ......................................................................................................45 3.4.2 Objects...................................................................................................45 3.4.3 Garbage collector ..................................................................................45 3.4.4 Classes...................................................................................................45 3.4.5 Threads..................................................................................................45 4 IDE 集成(ECLIPSE 3.X )................................................. 46

2017-06-16

空空如也

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

TA关注的人

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