自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

没有伞的孩子只能快跑,如若不跑,只有一个结果:超过你的人回头鄙视你

流星辗转一瞬间,仰望天空久长眠。博客新地址:https://yaoyuanyy.github.io

  • 博客(93)
  • 资源 (8)
  • 问答 (4)
  • 收藏
  • 关注

翻译 kafka会丢消息的时刻

Kafka 是一个具有高容量、一致性和延迟的优秀工具。另一方面,很多这些东西取决于生产者、消费者以及broker的配置。本文列举了几点消息可能丢失的场景。所以,面试遇到这个问题,抛出去就好了。

2023-02-24 08:49:34 174

原创 2022年终回顾与总结:螃蟹走路-冲,撞

2022年对地球上的人类来说,肯定是刻骨铭心的纪元。对于微小的个人而言,感受是真真切切的。固然疫情危害了劳苦大众,但家庭给我的触动却是直接和深刻的。这一年经历了许多,懂得了很多。总结2022,遥望远方

2023-01-03 08:00:00 415

原创 java agent 类加载器加载父子类问题实例分析

在使用javaagent实现微服务间调用关系时,难点之一就是类加载问题:不同的classLoader(类加载器)加载父子class类时所产生的问题,如问题场景1、ClassNotFoundException问题问题场景2、NoClassDefFoundError问题问题场景3、java.lang.IllegalAccessError: tried to access field x.xx.XXX from class x.yy.ZZZ问题 本质都是class loader加载class的问题通过

2022-02-19 23:24:12 1496 7

原创 ThreadPoolExecutor系列说之由浅入深源码解说

本文将ThreadPoolExecutor高深的位运算转换为二进制,以便更直观的理解方法和属性的使用。对加入线程池,执行worker的线程,释放worker的线程,终止线程池等进行细致的理解,以求每个判断,每行代码都能理解。Doug Lea的ThreadPoolExecutor代码实现真的是我们学习的榜样属性NOTE: 代码中的位运算不好直观,我们学习时可以将他们转成十进制和二进制,直观便于理解。使用以下方法操作进制间的转换1、二进制 -> 十进制 Integer.parseInt(“00111

2021-12-04 19:11:26 1258

原创 jvm怎么运行springboot jar文件的

前提关于springboot的类加载原理和spring-boot-loader的源码解析,网上已有很多的很棒的文章了。我一直相信对于技术原理的获取,代码层面的话一定是动眼比不上动手,debug跟着源码运行走一遍,效果往往是很棒的。同理,对于spring-boot-loader的原理,源码的掌握,其原理和debug方式参考:springboot jar包可运行,debug告诉你怎么运行的本文想要讲述的可能要更近一步了。带着一些疑问开始我们的学习1、程序是从哪进入JarLauncher.main()方法

2021-04-19 09:43:31 498

原创 <产业互联网-重新定义效率与消费>读后笔记

-- date: 2021-02-15 13:14:25自感:经济新业态,工业互联网,产业互联网,供给侧改革。一个一个高耸入云,低入深谷的概念,给人信念但是不给方向,摸不到头脑。我一个比平凡人还平凡的人,通过这本书,具象的理解了点产业互联网。希望由此,在软件开发技术进步的同时,业务力上同样有所收获> 第一章:产业互联网,究竟是什么产业互联网,不是指为传统行业提供B2B信息化服务的工具或平台,这仅仅...

2021-02-15 20:34:55 694

原创 一个程序员的2020得失与感悟

>>结往昔,望以后<<2020,看到机遇了吗在大家都在感慨新冠疫情的时候,你是否看到了机遇呢?机遇一记得年初3月份的时候,往年正是换工作的高峰,但是今年大家都不敢动。在大家都不动的时候,机遇就出现了,你的竞争对手就少了。身边的一个朋友看到了这个机会,顺利的入职蚂蚁金服。机会总是留给有准备的人。风险处,机会时机遇二同样是年初,股市大跌。但是看现在,很多股价翻倍。机遇就在年初,相信国家,相信中国人。那时买,现在赚。我稍微买的晚点,5月份入场,基金现在也涨了50%>&.

2021-01-03 21:38:08 539 1

原创 netstat在mac上不好用了,试试lsof,飞起

笔者在这里主要说下netstat和lsof的使用,以及netstat在mac系统下很多功能的缺失,这个场景下,lsof是很好的补充。个人比较喜欢使用lsof,而对于netstat,即使是linux下,也推荐使用ss代替netstatnetstat命令列出了关于你的计算机网络通讯的详细信息,网络通讯包括你的计算机通过所有的端口和应用与外界talking的所有方式。所以,征服netstat可以帮助你理解您的计算机如何和怎样建立连接的。netstat会报告你计算机的所有激活的网络连接,考虑到现代网络设备执行

2020-09-05 21:42:25 2317

原创 微服务间服务(接口)调用关系你还在手工记录吗

前言微服务已经在越来越多的企业开花。企业在享受微服务优势的同时,会产生一些问题。如随着企业的业务发展,相依的服务数量不断增加,服务调用关系越来越错综复杂。本项目产生的意义就是为了收集和展示服务的调用关系,特别是服务中接口的调用关系。带来的价值为很好的避免了以往只能通过开发人员头脑记忆,要知道记忆是会减退的。所以利于准备评估后续需求开发涉及的影响面。从而维护项目上线的稳定,增强服务可用性。所以...

2020-03-15 00:33:13 2740

原创 不知道javaagent是什么,运行个hello world就知道了

从事java开发的同学,或多或少听说过java探针/javaagent这个术语。本文不说它的定义,不说它的原理,不说它的高大上的作用,只说它的"hello world"。即运行一个最简单的例子,实际看看效果,有了真切的感受后,产生真切清晰的认识,以便快速的入门和深入探索。编码用idea创建个maven项目,如下图,项目名称随意,这里我的项目名为:microservice-comb-javaag...

2020-03-13 21:13:31 269

原创 知道springboot jar包可运行,debug告诉你怎么运行的

随着微服务的普及应用,springboot作为spring占领行业微服务的拳头,可能你早已熟练使用它去开发业务功能。当然,你可能知道springboot项目打成的jar可以直接运行,可能你也知道它的原理,但你真的知道它的原理吗,没有亲自debug下,可能就不那么肯定了吧。本文就来debug说下,springboot jar开始运行的真正起点:真正的main方法在哪里,怎么运行的理论为了方便阐述...

2020-03-13 21:10:58 990

原创 细节知多少 - spring boot transaction解析之阶段二 访问service类的@Transactional方法实现事务的阶段

概述spring boot transaction我们平时用着非常简单,只需要在service方法上声明@Transactional就可以了。但是要知道,简单的背后是不简单,只是很多东西spring框架帮我们做好了。如果想进阶,想进步,想弄懂,想学习,需要接近它,了解它,弄懂它,最好的方法莫过于debug它的源码了。笔者把spring boot transaction的整个过程分为两个阶段...

2019-06-15 23:38:17 1846

原创 细节知多少 - spring boot transaction解析之阶段一 带有@Transactional方法的service类生成代理类的阶段

细节知多少 - spring boot transaction解析之阶段一 带有@Transactional方法的service类生成代理类的阶段date: 2019-06-04原文:spring boot transaction解析之阶段一 带有@Transactional方法的service类生成代理类的阶段概述spring boot transaction我们平时用着非常简单,只需要...

2019-06-13 20:07:14 2502 3

原创 springboot 从main启动开始到完成征途记之一前半生

文章已迁移到掘金,为了更好的阅读和浏览的体验详见 https://juejin.im/post/5ba9b2386fb9a05d1013e476

2018-09-06 22:11:33 265

原创 终端远程看日志利器-tmux

tmuxtmux是一个优秀的终端复用器软件。用户可以通过 tmux 在一个终端内管理多个分离的会话,窗口及面板,对于同时使用多个命令行,或多个任务时非常方便非常霸道的功能介绍主要包括以下单元模块 server 服务器。输入tmux命令时就开启了一个服务器。 session 会话。一个服务器可以包含多个...

2018-09-01 08:22:54 3867

原创 java return break continue一个方法说明白区别

忽略基础好像是很多人的共性,要想路走的远,走的稳。重视基础,从现在开始用一段代码说明return break continue之间的区别 public static void main(String[] args) { testBreakAndReturn(10); } public static void testBreakAndReturn(i...

2018-09-01 08:20:21 1973

原创 idea远程debug-springboot

远程debug的应用场景需求开发完,发布到测试环境供测试人员测试功能,测试人员分配给你一个bug,你查看了日志,看了代码,竟没发现问题点。原因是多方面的,日志打的不全、bug隐蔽,都有可以,这时你可能想到把本地起来debug调试下,有利于发现问题。又本地和测试环境不同,也不利于发现问题。这时idea远程debug就排上用场了。配置1. 添加远程debug点击图一的"Edit Con...

2018-08-17 21:25:30 4480 2

翻译 Java 8: 异步利器 CompletableFuture vs Parallel Stream 选哪个

应人们对性能和体验的要求,异步在项目中用的越来越多,CompletableFuture 和Parallel Stream无疑是异步并发的利器。既然两者都可以实现异步并发,那么带来一个问题:什么时候该使用哪个呢,哪个场景下使用哪个会更好呢?这篇文章因此出现,旨在当执行异步进行编程时CompletableFuture与Parallel Stream的比较,从而你可以由此知道什么场景下使用哪个...

2018-08-16 09:22:10 5367

原创 mac/linux下终端远程看日志利器-tmux

tmuxtmux 是一个优秀的终端复用器类自由软件。用户可以通过 tmux 在一个终端内管理多个分离的会话,窗口及面板,对于同时使用多个命令行,或多个任务时非常方便。安装macOS 上使用 Homebrew 安装即可: $ brew install tmux介绍主要包括以下单元模块 内容 说明 server 服务器 输入tmux命令时就开启了...

2018-08-12 23:34:34 3160

原创 2017年终总结

写这篇总结时已然2018-1-1 12:08时间的毅力和坚持就是这么让人佩服,几亿光年如一日。从未改变过。新纪元年的脚步声已悄悄而至,过去的一年收获了什么,失去了什么,需要继续坚持的是什么,应该丢弃的有哪些。作为java程序员,职业技术,发展,成绩。这些重要指标,值得走技术路的我们反思,坚持,继续。做到这些的前提是家庭的稳定,幸福家庭:2017下半年

2017-12-30 00:53:26 914 2

原创 git迁移远程代码库(从remote a到 remote b)

对于git,大家都很熟悉,版本控制的不二人选。分散式的管理方式为人所喜欢,给人以方便。博客新地址:https://yaoyuanyy.github.io本文立足实际案例,可能这个案例对于应用开发的技术人员不是很常见,对于运维人员应当是必须的知识。如果你既是技术又是运维,那么恭喜你,你离大牛不远了实际案例:今天刚哥交给我一个任务:把项目集合(a,b,c,d,e,f每个都是一...

2017-07-07 14:33:33 905

原创 git晋级-获取一行(段)代码或一个文件或一个commit提交记录

入题: git基本的命令如:add,commit,pull,push掌握之后,就可以满足实际中基本的操作需要,有时,我们会遇到需要查看一个代码的提交记录或是一个文件的提交历史,当遇到这样的需求时.我们就需要进一步学习git了.下面来说一下这种情况获取一行(段)代码提交记录结合intellij,在intellij中,选中要查看的代码.右键选择会打开History for Selection对话框

2017-07-07 14:20:45 2826

原创 what is spring boot

what is spring boot spring家族很庞大,已经成为我们javaweb开发人员不可或缺的组件,他加快了我们开发项目的周期,简化了我们的代码数量现在,springboot已经火起来了,他简单易用,容易上手,越来越多的人开始使用它。那什么是springboot呢 即使你已经开始使用了springboot,可能不一定能系统的说出来他是什么,为什么会有他的出现以及他的特性。

2017-05-05 18:41:43 858

原创 synchronized详解-锁的是对象还是代码?

对于提干的问题,如果你没有想过这个问题,那么现在就要想一下了,因为他对于真正理解synchronized很重要。先把答案公布了:synchronized锁的是对象下面用代码证明结论: private static void startModifyThread(final List list) { Thread modifyThread = new Thread(new Runnable(

2017-02-18 18:35:34 759

原创 java synchronized详解--synchronized方法

上一章讲了synchronized代码块,这章说一下synchronize方法,及synchronized代码块与synchronized方法的联系上一章说的synchronized代码块,主要说了synchronized锁旗标(锁参数)的重要性和注意项 这章说一下synchronized修饰的方法的关键点和注意项 如果你拜读了java官方文档,你会知道synchronized方法也有锁旗标(锁

2017-02-17 17:25:37 1563

原创 java synchronized详解--synchronized代码块

synchronized详解回想起来,代码中一直用synchronized了,但是好像对它理解不到位,今天抓点时间复习一下。写了几个代码例子说明一下。结构简述:定义了一个资源PrintDemo,一个线程类ThreadDemo,一个测试类TestThread,在测试类中创建两个线程对象,两个线程对象都通过run方法访问资源PrintDemo.printCount方法第一种场景:不对资源加锁packag

2017-02-17 11:48:03 1974

原创 springboot发送邮件的实现例子

springboot是集大成者,对于发送邮件的功能也不例外。而且往往是原来的功能实现更简单,方便。更符合Facade Pattern。下面就是springboot发送邮件的实现例子,代码已封装好,按照提示的步骤配置好就可以直接用了。当然如果你是新搭的项目,需要引入springboot的mail包 org.springframework.boot spring-boot-st

2017-02-10 17:00:35 8096 1

翻译 What is a Context in Java and ApplicationContext vs WebApplicationContext

当我们开始使用Spring Framework时,能想到的最基本的问题是:ApplicationContext在spring中扮演什么的角色,它和WebApplicationContext有什么不同呢。在考虑这些之前,应该先知道What is a Context in Java1.What is a Context in JavaA context可以被说成是被提供给当前工作单元的正运行的环境,它可

2017-02-09 21:37:11 568

原创 我的java开发及桌面工具集合分享

1.开发必备:java8,这个是废话是吧,没有java怎么编写java呢,哈哈。这里说明是java8,因为java8较之前有很大的更新,多了许多实用有用的功能,所以推荐使用java82.开发IDE:intellij2016.2.3,我是2016.10从eclipse转到intellij的,深深被intellij的便捷性,易用性,强大性,炫酷性所折服3.文本编辑器:sub

2017-02-08 11:33:29 4160

转载 深入理解Java 8 Lambda-类库篇

最近在github.io上发现一篇讲解java8 lambda非常好的文章,但是最近这个文章的页面服务地址不稳定,所以转载下来,如果造成原作者的不满和任何的反对,请告知,我立即处理原文地址:http://lucida.me/blog/java-8-lambdas-inside-out-library-features/深入理解Java 8 Lambda(类库篇——S

2017-02-06 14:32:00 2289

转载 深入理解Java 8 Lambda-语言篇

最近在github.io上发现一篇讲解java8 lambda非常好的文章,但是最近这个文章的页面服务地址不稳定,所以转载下来,如果造成原作者的不满和任何的反对,请告知,我立即处理原文地址:http://lucida.me/blog/java-8-lambdas-insideout-language-features/#more深入理解Java 8 Lambda(语

2017-02-06 14:27:02 1459

原创 centos7 mariadb主从复制配置搭建

centos7 mariadb主从复制配置搭建花了小一天的时间,终于实现了centos7 mariadb主从复制配置搭建,下面记录一下过程环境:虚拟机:vm8; centos7 版本:7.2.1511; mariadb 版本:centos7.2内置的主库服务器:10.69.5.200,CentOS7,MariaDB10已安装,有数据。从库服务器1:10.69.5.2

2017-01-18 23:54:17 704

原创 centos7 mariadb主从复制配置搭建

centos7 mariadb主从复制配置搭建花了小一天的时间,终于实现了centos7 mariadb主从复制配置搭建,下面记录一下过程环境:虚拟机:vm8; centos7 版本:7.2.1511; mariadb 版本:centos7.2内置的主库服务器: 10.69.5.200,CentOS 7,MariaDB 10已安装,有数据。从库服务器1: 10.69.5.201,CentOS 7

2017-01-18 23:51:41 3249

原创 centos7安装redis3.2.5集群

centos7安装redis3.2.5集群 本文是在虚拟机centos7系统上安装redis3.2.5集群redis集群简介redis集群在启动的时候就自动在多个节点间分好片。同时提供了分片之间的可用性:当一部分redis节点故障或网络中断,集群也能继续工作。但是,当大面积的节点故障或网络中断(比如大部分的主节点都不可用了),集群就不能使用。所以,从实用性的角度,Redis集群提供以下功能:

2017-01-18 14:03:01 2105

原创 java8新特性

java8新特性引言:java是个大体积的东东,实现一个功能往往需要编写很多行代码,这使得程序员在集中业务的同时还要关注代码,现在python很好的解决了这个问题。java自身认识到了这个问题,积极的解决方案。Java 8是一个有重大改变的版本,该版本对 Java 做了重大改进。本文通过文字描述及代码实例对新版本中主要新特性做了介绍:函数式接口、Lambda 表达式、集合的流式操作、注解、安全性、

2017-01-18 11:45:56 718

原创 intellij2016.2.3常用设置

改变方法分割线的颜色(method separator color): file-setting-Editor-Colors&Fonts-General-Code-Method separator color-修改Foreground的颜色后,点击OK不断添加中···

2017-01-18 11:44:35 743

原创 tomcat7源码分析

tomcat7源码分析本篇分为六个部分: tomcat基本框架 tomcat启动流程简介 tomcat启动流程源码分析 tomcat处理一个请求过程分析 .jsp生成.java和.class流程分析 apache beachmark性能测试一、tomcat基本框架由三部分组成: 组件架构:组件搭起房梁 基于JMX:JMX管理组件等

2017-01-16 16:21:14 5371

原创 2016年付出与收获-javaweb

时间总是这样的无情,不会因为任何人的任何请求而停留。在你打飞机的一分钟内,它消无声息的甩袖而去,留下一片湿润的废墟;在你敲了10行代码的一分钟里,它自若神闲的转身溜走,留下一个success的标记。这一年,继续忍受着异地恋带来的孤独和珍惜,并且可以预见,2017依然承受着身体的孤独和精神的满足。期待新一年的美好和运气。还好,在这一年,技术水平较之之前有了很大的提升:1.2016.1

2017-01-02 16:49:20 604 1

原创 centos7安装nginx

虚拟机centos7安装nginx

2016-10-12 17:46:56 4691

原创 java Collection集合删除某一元素方法汇总

无论在自己写程序玩还是实际项目应用中,操作java.util.Collection结合都是最常用的,而且也是最重要的知识点。从集合中删除某一元素同样是很常用的操作,对了,面试中也总考察,面试官说要考察你的实际编程的能力,谁知道呢。下面总结了从集合中删除某一元素的几种方法package test;import java.text.MessageFormat;import java.util

2016-09-13 11:22:32 10455 7

spring结合mongodb例子(maven java project)

例子简单的实现了spring结合mongo的例子 spring:4.1.2 spring-data-mongodb:1.1.0 java:1.8 log4j:1.2.16 junit:4.12 commons-logging:1.1.1 maven:3 注意:spring的不同版本与mongodb结合可能会有问题,自测:spring4.2.1结合mongodb会报错:**springframework.core.context.**service 此外,例子同时涉及: 1.例子中还说明了配置文件放在maven的src/main/java下与放在第二个src下的main目录下的不同结果及加载方式:AppTest.java文件 2.列出配置文件的加载方式 a.通过spring-test的注解方式加载配置文件:AppTest2.java b.通过ApplicationContext applicationContext = new ClassPathXmlApplicationContext("mongo.xml");加载方式:App.java 3.列出log日志的java代码获取方式

2015-12-17

eclipse下创建的tomcat project和web Dynamicproject的区别

一直以来发现eclipse中创建tomcat project和web Dynamicproject的区别 各自适用的场景,今天把研究的知识和过程记录下来分享,希望对你们有所帮助 http://blog.csdn.net/mingliangniwo/article/details/44020225,这个链接是具体步骤,实例,两个结合看更简单

2015-03-02

javaWeb项目SpringMVC3.2.1与Mybatis3.0.4整合实例之一SqlSessionDaoSupport方式

网上有许多关于SpringMVC与Mybatis整合的实例,但是由于Mybaits-spring有好几种配置方式(SqlSessionDaoSupport方式,mapperFactoryBean方式,mapperScannerConfigurer方式),这样看起来会觉得很乱,不知道哪个是对的,觉得很复杂(至少我的感觉是这样的)。把关于这块的学习过程记录下来,留作备注同时与大家分享交流。 本项目是SpringMVC3.2.1与Mybatis3.0.4整合实例之SqlSessionDaoSupport方式

2015-01-21

silverlight获取Asp.net参数(方式一)

这是我做的一个silverlight获取Asp.net参数的测试项目,这是其中一种方式(<param name="initParams"),很简单,代码很少,希望对大家有帮助

2013-12-16

wpf_外部引用style

详细又简单的wpf引用外部style样式文件的例子

2013-09-17

c#绘图winform+GDI

简单的用vs2010做个小例子,熟悉窗口之间的关系,graphics的创建方法和这个类方法的使用,以及绘图常用工具的练习

2013-08-07

C# 快捷键

详细的快捷组合,ctrl+****** visual 2010简洁 快速的应用

2013-07-24

hibernate学习

详细的hibernate讲解,hibernate框架是最基础的框架,用于与数据库的连接,减少了开发人员写Sql的部分

2013-03-31

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

TA关注的人

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