自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

二一点

上善若水 夫唯不争 故无尤!

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

原创 【经理人领导力突破训练营】 从华为、顺丰的最佳实践,解读企业成长战略

0、开篇对话一个企业家,在战略的雄心上、战略的思维高度上,一开始就要把标杆定得很高。1、战略性思维的定义与内涵业务领导力模型(BLM)是IBM帮助业务领导人解决问题的统一语言和思维框架:它以关键议题和差距为导向,有效连接战略与执行,特别关注支持战略执行的组织能力和一致性问题。占略性思维:对我们关心的事务如何对全局,长远,根本性的谋划的思维过程。有战略思维的能力,可以看得更远更清更准。系统性思维——Systemically thinking。(全局性)是完全满客户的需求,还是..

2020-10-20 14:54:11 2130

原创 【经理人领导力突破训练营】经理人必修课,如何成为成功的经理人?

0、开篇对话总经理的能力:帮助组织去定义公司的使命、提供方向、安身立命的价值体系和价值观。做为一个组织,要想办法怎么为社会创造价值,在交付这个价值过程中获得收益。怎么能够实现公司的愿景和使命,战略问题。组织要塑造文化,吸引人才。两种总经理的角色:事业部经理(运营总经理,资源限制),公司会有限制自由行动的权利。需要与同级事业部打交道。创业企业经理(机会导向),公司会有董事会和投资者的限制,基于一个广泛的指导原则。需要与董事会,风险投资人打交道。互联网时代,新的技术层出不.

2020-10-19 16:19:54 1988

原创 《不做焦头烂额的领导,实用有效的管理私房课》学习笔记

导师:刘军,中国私人董事会资深教练,原正和岛私董会总经理,北大、清华、浙大总裁班授课讲师。第一课,效能管理的4个建议1、拉长时间轴,每天早八点到晚十点,每周休一天,早于这个时间就是惊喜。2、85分原则,每个人汇报前打分到达85分再张口。3、为独自工作和会议时间设置专门的时间,不能随时找人开会。比如上午10-12点自主工作。4、很多事情开始的时候,问一下自己,这个事情应该是...

2020-03-22 16:52:05 1893

原创 《奈飞文化手册》读书笔记

我们第一个重要的发现就是留下的人都是高绩效的,这就告诉我们:你能够为员工做的最好的事情,就是只招聘那些高绩效的员工来和他们一起工作。这可远比桌上足球、免费寿司、一大笔签约奖金或者股票期权更有吸引力。优秀的同事、清晰的目标和明确的成果,这些因素在一起将成为一个强大的组合。我认为,大团队在创新和快速行动方面能力缺失,部分原因是员工管理是一件困难的事。公司建立起各种基本规章制度来确保员工做正确...

2020-02-09 22:19:46 3273

原创 JAVA NETTY 文件上传和下载

话不多说,直接上代码,文件上传和下载。HTTP服务public final class HttpServer { static final boolean SSL = System.getProperty("ssl") != null; static final int PORT = Integer.parseInt(System.getProperty("port",...

2018-08-25 14:54:55 3394 5

原创 JAVA NETTY 心跳检测

使用Socket通信一般经常用来处理多个服务器之间的心跳检测,一般来讲去维护服务器集群,肯定有一台或几台服务器主机Master,还应该有n台Slave。Master常常需要知道自己下面从服务器的各方面情况,进行实时监控,这在分布式架构里叫做心跳检测或心跳监控。如果用http发送心跳包虽然简单但是极度不科学,耗电量太大,所以直接否决。我们选择基于TCP实现长连接,而借助一些第三方插件可以更好更快...

2018-08-23 10:38:37 2140

原创 linux(CentOS 7)虚拟机配置连接外网

一、首先我们需要确定本地电脑可以连接外网,配置之前需要把虚拟机的连接方式改为桥接,然后打开安装的虚拟机。二、执行命令ifconfig 查看当前虚拟机的IP,默认系统是自动获取的。三、因为本地电脑是配置的静态地址上网,所以需要修改网卡的IP地址,可以使用命令: vi /etc/sysconfig/network-scripts/ifcfg-eth0。打开此界面。四、因为系统默...

2018-08-22 09:37:10 18935

原创 Java GC 分析,JVM生产环境参数实例及分析,JVM详细配置

什么是 Java GCJava GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自动内存管理和垃圾清扫机制。概括地说,该机制对JVM(Java Virtual Machine)中的内存进...

2018-08-21 11:05:27 3848

原创 JVM内存结构,JAVA类的加载机制,GC算法,垃圾收集器

一、什么是类的加载类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个 java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的 Class对象, Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。类加载器并不需要等到某个类被“首次...

2018-08-20 14:01:27 2596

原创 Linux(CentOS 7) 安装 Tomcat8 及 JDK1.8配置

一、使用wget方式wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.4/bin/apache-tomcat-8.5.4.tar.gzwget http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096f...

2018-08-06 14:26:11 2394 1

原创 Spring boot Maven找不到spring-boot-starter-log4j2 JAR包问题,使用slf4j的logback输出日志

一、问题描述把Springboot版本升级了下,运行发现报了这样一个错误:'dependencies.dependency.version' for org.springframework.boot:spring-boot-starter-log4j:jar is missing.报错的提示是spring-boot-starter-log4j这个Jar找不到。 Maven是如下配置:<par...

2018-07-03 13:54:30 19326 5

原创 JAVA基础 之 泛型详解

一、概述什么是泛型?为什么要使用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控...

2018-05-21 16:45:27 1034

原创 Java 网络IO编程 之 BIO、NIO、AIO 的用法与实现

一、BIO 编程1、传统的BIO编程网络编程的基本模型是C/S模型,即两个进程间的通信。服务端提供IP和监听端口,客户端通过连接操作想服务端监听的地址发起连接请求,通过三次握手连接,如果连接成功建立,双方就可以通过套接字进行通信。传统的同步阻塞模型开发中,ServerSocket负责绑定IP地址,启动监听端口;Socket负责发起连接操作。连接成功后,双方通过输入和输出流进行同步阻塞式通信。 简单...

2018-05-16 09:26:38 1535 1

原创 Java 网络编程 之 socket 的用法与实现

一、概念TCPTCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP,下一篇博客会实现)是同一层内 另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是...

2018-05-15 09:44:00 122571 33

原创 Oracle SQL 之 分析函数(窗口函数)

概述分析函数是以一定的方法在一个与当前行相关的结果子集中进行计算,也称为窗口函数。一般结构为:Function(arg1 , arg2 ……) over(partition by clause order by clause windowing clause )Windowing clause : rows | range between start_expr and end_exprStart_...

2018-05-04 09:49:45 4545

原创 JAVA特性 之 反射(Reflection)

什么是反射?反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。用一句话总结就是反射可以实现在运行时可以知道任意一个类的属性和方法。反射能做什么?反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任...

2018-04-24 11:23:08 1589

原创 JAVA面向对象四大特性:多态、继承、抽象、封装

一、多态(晚绑定;运行时;一个接口,多种实现)面向对象的四大特性:封装、继承、多态、抽象。从一定角度来看,封装和继承几乎都是为多态而准备的。是最重要的知识点。多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其...

2018-04-20 15:40:06 10902 1

原创 JAVA并发编程 之 LMAX Disruptor使用实例(高效解决生产者与消费者问题)

什么是Disruptor?Disruptor是一个开源的JAVA框架,它被设计用于在生产者—消费者(producer-consumer problem,简称PCP)问题上获得尽量高的吞吐量(TPS)和尽量低的延迟。Disruptor是LMAX在线交易平台的关键组成部分,LMAX平台使用该框架对订单处理速度能达到600万TPS,除金融领域之外,其他一般的应用中都可以用到Disruptor,它可以带来...

2018-04-13 11:30:03 19161 2

原创 JAVA并发编程 之 Lock 与 Synchronized 的比较和应用 及 锁机制

synchronized是java中的一个关键字,也就是说是Java语言内置的特性。那么为什么会出现Lock呢?synchronized 的局限性 与 Lock 的优点如果一个代码块被synchronized关键字修饰,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待直至占有锁的线程释放锁。事实上,占有锁的线程释放锁一般会是以下三种情况之一:占有锁的线程执行完了该代码块,然后释放...

2018-04-11 16:18:30 1396

原创 JAVA并发编程 之 CountDownLatch、CyclicBarrier、Semaphore、Callable和Future

CountDownLatch用法CountDownLatch位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。CountDownLatch类只提供了一个构造器:public CountDownLatch(int count) { }; //参数...

2018-04-11 13:56:03 1312

原创 JAVA线程池,ThreadPoolExecutor实现的四种线程池

线程池在JAVA中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便。但是就会有一个问题,如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?这样Java线程池出现了。new Thread的弊端:a....

2018-04-10 16:02:44 3206 1

原创 多线程 - 生产者与消费者

生产者与消费者在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程。在多线程开发当中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产数据。同样的道理,如果消费者的处理能力大于生产者,那么消费者就必须等待生产者。为了解决这种生产消费能力不均衡的问题,所以便有了生产者和消费者模式。生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。...

2018-04-09 14:47:25 3023

原创 JAVA多线程之Master worker并行设计模式

在多线程程序设计中Master worker 模式是常用的并行模式之一,核心思想是由两类进程协助完成的,Master 进程负责接收和分配任务并处理保存结果集,Worker 负责处理任务, 并把结果返回给Master 进程. 这类设计模式最大的好处是 将一个大任务分配成若干个小任务并行执行。可见master-worker 模式适合与将大任务化成小任务并行执行的情况,各个小任务基本并行独立运行,最终提...

2018-03-30 16:29:49 1030

原创 JAVA多线程之Future模式

Future模式有点类似于商品订单。比如在网购时,当看中某一个商品时,就可以提交订单,当订单处理完成后,在家里等待商品送货上门即可。或者说更形象的我们发送Ajax请求的时候,页面是异步的进行后台处理,用户无需一直等待请求的结果,可继续浏览或操作其他内容。下面看一个例子:1.客户端发送请求客户端发送请求,包装类返回“假”的结果,同时创建一个线程去执行真实的操作。import java.util.co...

2018-03-30 16:10:17 295 1

原创 并发队列 ConcurrentLinkedQueue 及 BlockingQueue 接口实现的四种队列

队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。在队列这种数据结构中,最先插入的元素将是最先被删除的元素;反之最后插入的元素将是最后被删除的元素,因此队列又称为“先进先出”(FIFO—first in first out)的线性表。在并发队列上JDK提供了两...

2018-03-29 09:56:40 10719

原创 ThreadLocal、单例模式和多线程、ConcurrentHashMap、CopyOnWrite容器

什么是ThreadLocal?先看看JDK中的源码是怎样描述的:This class provides thread-local variables. These variables differ from their normal counterparts in that each thread that accesses one (via its {@code get} or {@code s...

2018-03-26 17:13:14 2724

原创 线程之间通信 等待(wait)和通知(notify)及Queue的模拟

线程通信概念:线程是操作系统中独立的个体,但这些个体如果不经过特殊的处理就不能成为一个整体,线程之间的通信就成为整体的必用方式之一。当线程存在通信指挥,系统间的交互性会更强大,在提高CPU利用率的同时还会对线程任务在处理过程中进行有效的把控与监督。为了支持多线程之间的协作,JDK提供了两个非常重要的接口线程等待wait()方法和通知notify()方法。这两个方法并不是在Thread类中的,而是输...

2018-03-23 16:58:07 386

原创 JAVA线程基础(synchronized、同步与异步、volatile、脏读)

一、线程安全(synchronized)线程安全概念:当多个线程访问某一个类(对象或方法)时,这个类始终都能表现出正确的行为,那么这个类(对象或方法)就是线程安全的。synchronized:可以在任意对象及方法上加锁,而加锁的这段代码称为“互斥区”或“临界区”下面看一个例子: public class MyThread extends Thread { private int coun...

2018-03-21 15:29:33 1298

原创 一个Simple而又SB的问题 @Autowired Field xxxDao in xxx requird a bean of type

问题描述:建立了一个简单的Springboot项目,对Oracle数据库进行访问,查询数据,返回JSON。代码如下:Application.javapackage com.bocom;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure

2017-12-28 11:13:23 3942 4

转载 Java序列化机制,serialVersionUID作用

serialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常,即是InvalidCastEx

2017-12-07 15:05:13 4435

原创 Spring boot 实现文件上传,postman模拟上传文件报错XssHttpServletRequestWrapper cannot be cast to MultipartHttpServle

JAVA上传、下载、多文件上传功能实现起来还是十分方便的,在测试过程中,使用POSTMAN发送请求,发生了如下异常:java.lang.ClassCastException: com.fingerprint.utils.xss.XssHttpServletRequestWrapper cannot be cast to org.springframework.web.multipart.Mul

2017-11-27 13:56:16 11242 1

原创 Spring boot 集成JavaMail服务发送邮件

JavaMail是SUN提供给广大Java开发人员的一款邮件发送和接受的一款开源类库,支持常用的邮件协议,如:SMTP、POP3、IMAP,开发人员使用JavaMail编写邮件程序时,不再需要考虑底层的通讯细节如:Socket而是关注在逻辑层面。JavaMail可以发送各种复杂MIME格式的邮件内容,注意JavaMail仅支持JDK4及以上版本。虽然JavaMail是JDK的API但它并没有直接加

2017-11-27 13:09:43 5478 2

原创 Spring boot 集成 Kaptcha 实现前后端分离验证码功能

简述在web开发中验证码是一个常见的功能。不论是防止机器人还是爬虫都有一定的作用,我们可以自己编写验证码的工具类,也可以使用比较方便的验证码工具。本文使用Spring boot 集成 Kaptcha 实现前后端分离验证码功能,这里为什么强调前后端分离,拿登陆功能为例,在登陆我们要请求后台返回一张验证码图片,然后输入用户名密码加上验证码,再次提交给后台,如果不是前后端分离,可轻松的从se

2017-11-22 14:27:27 15321 7

原创 使用Swagger生成JAVA Mock Server(Springboot)代码

Swagger为我们提供了非常多的工具,其中最强的还要算这个代码的生成工具。在前后端分离的大环境下,前后端之间订立的接口显得尤为重要,接口在订立之后变动的可能性已经很小,这就要求我们提前去设计接口,也就是我们为前端提供的API。但是我们发现,在开发过程中订立的接口寿命其实很短,这是一件非常严重的事情。因此Swagger为我们提供了另外一种比较优雅的方式:就是你先订立接口,然后再去用生成的接口,

2017-11-14 15:27:10 12287 3

原创 MyEclipse 保存文件时报错 An internal error occurred during: "Building Spring AOP reference model" 的解决方法

问题描述:因为使用了Spring 的 AOP,每次在保存的时候都报如下错误:An internal error occurred during: "Building Spring AOP reference model".java.lang.IllegalArgumentException搜了一大圈的解决方案,在国外的Genuitec上找到了答案,原文如下:OK. I

2017-11-13 12:26:49 5519 2

原创 SpringBoot中使用Swagger生成RESTful规范API文档

Swagger是为了描述一套标准的而且是和语言无关的REST API的规范。对于外部调用者来说,只需通过Swagger文档即可清楚Server端提供的服务,而不需去阅读源码或接口文档说明。官方网站为:http://swagger.io中文网站:http://www.sosoapi.com背景前后端分离1、前后端仅仅通过异步接口(AJAX/JSON)来编程2、前后端都

2017-11-11 14:28:38 16298 2

原创 通俗易懂RESTful,如何设计RESTful风格API

REST -- REpresentational State Transfer 直译:表现层状态转移。这个中文直译经常出现在很多文章中。尼玛,谁听得懂“表现层状态转移”,这是人话吗?那就逐个单词来理解REST名称REST -- REpresentational State Transfer首先,之所以晦涩是因为前面主语被去掉了,全称是 Resource Representati

2017-11-07 17:07:32 37797 24

原创 Spring Boot 使用Oracle集成Mybatis,驼峰映射(下划线)问题

问题描述:数据库字段为USER_ID,实体类为userId,在application.xml做如下配置,可以自动进行映射:mybatis.configuration.mapUnderscoreToCamelCase=true或新建mybatis.xml配置文件 进行以上配置后,并没有映射成功,查出来的数据都为null。问题分析:1、把项目整体迁移到My

2017-11-03 15:40:55 3546

原创 Springboot 处理跨域请求(AJAX、VUE)

什么是跨域?由于安全原因,浏览器都遵循着同源原则,拦截了不同域名之间的请求。跨域请求,是指能让不同域名之间,可以相互发送请求。当它请求的一个资源是从一个与它本身提供的第一个资源的不同的域名时,一个资源会发起一个跨域HTTP请求(Cross-site HTTP request)。比如说,域名A ( http://domaina.example ) 的某 Web 应用程序中通过标签引入了域

2017-10-19 11:30:54 9256 2

原创 Spring Boot 使用 WebSocket 实现消息推送 及 WebSocket原理

WebSocket 是什么原理,为什么可以实现持久连接?一、WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算)首先HTTP有1.1和1.0之说,也就是所谓的keep-alive,把多个HTTP请求合并为一个,但是Websocket其实是一个新协议,跟HTTP协议基本没有关系,只是为了兼容

2017-10-09 10:56:43 15661 6

jdk-8u171-linux-x64.tar

jdk-8u171-linux-x64.tar,Linux下JDK1.8 X64位,https://blog.csdn.net/a78270528

2018-08-06

tomcat8.0.3-x64

apache-tomcat-8.0.3-windows-x64 Linux下64位Tomcat,https://blog.csdn.net/a78270528

2018-08-06

Spring boot 热加载 springloaded-1.2.4.RELEASE JAR包

springloaded springboot 热加载

2017-08-25

空空如也

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

TA关注的人

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