无界

我是Oracle Java JCP会员 博客域名 https://linuxstyle.blog.csdn.net/

SpringBoot整合Grpc实现跨语言RPC通讯

什么是gRPC gRPC是谷歌开源的基于go语言的一个现代的开源高性能RPC框架,可以在任何环境中运行。它可以有效地连接数据中心内和跨数据中心的服务,并提供可插拔的支持,以实现负载平衡,跟踪,健康检查和身份验证。它还适用于分布式计算的最后一英里,用于将设备,移动应用程序和浏览器连接到后端服务。 ...

2019-09-11 10:46:17

阅读数 2497

评论数 0

经典算法书籍推荐以及算法书排行【算法四库全书】

经典算法书籍推荐以及算法书排行【算法四库全书】 作者:无界编程 https://linuxstyle.blog.csdn.net/ https://blog.csdn.net/21aspnet 行文方式:类似《四库全书》截取经典算法书目录和精华篇章 版权说明:本文于2019年5月5日首发于C...

2019-05-05 20:14:35

阅读数 5872

评论数 7

Java线上问题排障:Linux内核bug引发JVM死锁导致线程假死

Java本质上还是离不开操作系统,一来Java源码是用C/C++实现的,二来java进程还是需要依附于操作系统和硬件资源,有时候一些问题是操作系统级别导致的,下面的整个事件是源自一则真实的线上案例。 过程: JVM死锁导致线程不可用,然后会瞬间起N个线程,当然起再多也是不可用的,因为需要的...

2019-04-28 15:16:42

阅读数 2366

评论数 4

支撑Java框架的基础技术:泛型,反射,动态代理,cglib

以Spring为例要想看明白他的源码需要彻底理解Java的一些基础技术泛型,反射同时对于一些高级技术例如动态代理,cglib和字节码技术也需要掌握,下面就按章节来一一说清楚这些技术的核心部分,最后手写一个简单的Spring框架。 一.静态代码块和非静态代码块以及构造函数的调用顺序 静态...

2019-04-22 10:29:24

阅读数 3896

评论数 2

深入浅出Java反射原理和使用场景

反射非常重要,特别是Spring这类框架离不开反射,而反射对于初学者理解起来其实还是有一定的难度的,本帖希望把晦涩的反色用最易懂的方式给你讲明白。 先不说反射是什么先看一个问题:如果不知道对象的真实类型怎么去调用他的方法? Object obj = new Date(); 编译类型:O...

2019-04-19 16:38:56

阅读数 3168

评论数 3

Java多线程的11种创建方式以及纠正网上流传很久的一个谬误

创建线程比较传统的方式是继承Thread类和实现Runnable,也可以用内部类,Lambda表达式,线程池,FutureTask等。 经常面试会问到继承Thread类和实现Runnable的区别,然后网上会流传如下这样的说法,这是错误的。 流传很久的错误说法: 这个说法是举一个火车票售票的...

2019-04-06 21:22:58

阅读数 1977

评论数 3

异步编程原理以及Java实现

说实话多线程和异步是非常容易让人混淆的,好像产生的效果差不多,甚至有人称多线程为异步,实际上这两种技术背后的实现原理是不同的。 假设您有2个任务,不涉及任何IO(在多处理器机器上)。在这种情况下,线程优于Async。因为像单线程程序一样的Async按顺序执行你的任务。但是线程可以同时执行这两...

2019-03-30 14:16:11

阅读数 2121

评论数 1

从Jdk8到Jdk12的Java虚拟机垃圾回收(垃圾收集)相关论文和官方网站集锦

JVM架构图 《Java Program Execution Process in Detail | Working of JUST-IT-TIME Compiler (JIT) in Detail》 ---- 这张图微观画的很好:https://www.javainterviewpoi...

2019-03-24 03:00:23

阅读数 1687

评论数 2

Java12和Jdk12安装以及OpenJdk12源码

文档: JDK 12文档:https://docs.oracle.com/en/java/javase/12/ 下载: OracleJDK12下载:https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads...

2019-03-23 14:12:39

阅读数 12353

评论数 14

Java字节码研究

关于怎么查看字节码的五种方法参考本人另一篇文章《Java以及IDEA下查看字节码的五种方法》 1.String和常连池 先上代码: public class TestApp { public static void main(String[] args) { ...

2019-03-05 18:46:45

阅读数 2658

评论数 1

MySQL常用性能分析方法-profile,explain,索引

1.查版本号无论做什么都要确认版本号,不同的版本号下会有各种差异。>Select  version();2.执行状态分析显示哪些线程正在运行>show processlist;下面是完整的信息3.show profileshow profile默认的是关闭的,但是会话级别可以开启这个功...

2016-10-26 21:17:30

阅读数 5118

评论数 0

Spring4实战学习笔记

《Spring4实战 第4版》2016年4月新出版的,之前的第三版看起来还是不错的,所以看到新版就直接买下来。英文版源码地址:Spring in Action, Fourth Edition Covers Spring 41.IOC装配Bean参考【Spring实战4 2.2】,作者提倡无XML配...

2016-05-12 18:42:40

阅读数 14074

评论数 2

mybatis结合log4j打印SQL日志

mybatis结合log4j打印SQL日志 默认的mybatis不能打印出SQL日志,不便于查看调试,需要结合log4jdbc-log4j2就可以完整的输入SQL的调试信息。pom.xml 配置maven,注意以下3个都需要 org.bgee.log4jdb...

2016-01-22 11:56:56

阅读数 32267

评论数 12

Java开发环境的搭建以及使用eclipse从头一步步创建java项目

原文:出自本人的Linux博客http://blog.csdn.net/unix21/article/details/18813173一、Java 开发环境的搭建这里主要说windows环境下怎么配置Java环境。如果是Linux环境参考本博客另一篇文章即可:Linux环境安装卸载JDK1.首先安...

2014-01-27 16:06:02

阅读数 93436

评论数 13

Unix下C程序内存泄漏检测工具Valgrind安装与使用

Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。 Valgrind的最初作者是Julian Seward,他于2006年由于在开发Valgrind上的工作获得了第二届Google-O'Reilly开源代码奖。 Valgrind遵守GNU通用公共许可证条款,是一款自由软件...

2012-11-11 21:39:40

阅读数 35499

评论数 5

Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存

Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存参考:《linux编程从入门到精通》,《Linux C程序设计大全》,《unix环境高级编程》参考:C和指针学习 说明:本文非常的长,也是为了便于查找和比较,所以放在一起了Linux 传统的进程间通信有很多,如各类管道、消息队列、...

2012-04-19 22:43:28

阅读数 43534

评论数 7

Linux网络编程必看书籍推荐

首先要说讲述计算机网络和TCP/IP的书很多。 先要学习网络知识才谈得上编程讲述计算机网络的最经典的当属Andrew S.Tanenbaum的《计算机网络》第五版,这本书难易适中。《计算机网络(第5版)》是国内外使用最广泛、最权威的计算机网络经典教材。目前已经是第五版,本书作者80年代就开发出MI...

2011-08-17 12:27:10

阅读数 101115

评论数 40

C语言经典著作导读

本人不是卖书的,我也不会给出任何购书链接,只是给C语言学习者推荐一条学习的方向。如果你喜欢看电子书网上很多,如果你喜欢纸质那么就买吧,经典的书值得收藏,是对版权的尊重! 基础篇1.《写给大家看的C语言书(第2版)》原书名: Absolute Beginner's Guide to C (2nd E...

2011-06-21 14:20:00

阅读数 25413

评论数 21

C#精髓 第四讲 GridView 72般绝技

说明:准备出一个系列,所谓精髓讲C#语言要点。这个系列没有先后顺序,不过尽量做到精。可能会不断增删整理,本系列最原始出处是csdn博客,谢谢关注。C#精髓第四讲 GridView 72般绝技作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间...

2007-03-25 04:36:00

阅读数 541005

评论数 703

.c和.h文件的区别

  一个简单的问题:.c和.h文件的区别学了几个月的C语言,反而觉得越来越不懂了。同样是子程序,可以定义在.c文件中,也可以定义在.h文件中,那这两个文件到底在用法上有什么区别呢? 2楼:子程序不要定义在.h中。函数定义要放在.c中,而.h只做声明.否则多引用几次,就会发生函数重复定义的错误。3楼...

2004-10-24 23:20:00

阅读数 165809

评论数 16

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