Java 复习使用
重新复习 Java,重新学习。希望可以和大家一起进步。
SunnyJim
golang 、docker、k8s、istio
展开
-
gRPC Golang 客户端调用 Java 服务
proto protobufsyntax = "proto3";option go_package = "proto";option java_multiple_files = true;option java_package = "com.bocloud.autorelease.hello";option java_outer_classname = "HelloProto";option objc_class_prefix = "HL";package hello;service原创 2020-09-11 10:24:32 · 1074 阅读 · 0 评论 -
记一次使用 Docker 指定 Spring Boot 配置引发的事件
场景:使用 Docker 运行一个由 Maven 工程构建的镜像,包含多个 application.yml。application.ymlapplication-dev.ymlapplication-docker-release.ymldocker-compose 中指定运行 application-docker-release.yml 配置,内容如下:application-doc...原创 2020-04-16 20:59:50 · 238 阅读 · 0 评论 -
使用 Jenkins + GitLab 在远程主机部署 Maven工程
搜索了很多关于 jenkins 远程主机部署服务的帖子,发现写的都非常的乱,有的虽然可以部署成功,但是成功之后回想一下如何部署的,显得毫无头绪。这就是这篇文章诞生的背景。Jenkins 配置流程安装支持远程服务的插件配置远程主机地址 IP user/password配置要连接的 gitlab配置 jenkins 打包命令创建任务执行任务执行配置流程step1 安装插件创建...原创 2020-04-16 09:56:28 · 284 阅读 · 1 评论 -
Java 泛型存在的意义、原理以及使用
一直以来,对泛型的认识都是想当的片面,刚好前些时间 Go 语言对于添加泛型的提议给出了否定回答,今天就来了解一下什么是泛型?什么是泛型?此时,Map<K,V> 就是一种泛型,或者查看 Hasp<K,V> 一样是相同的。Map<Object, Object> map = new HashMap<>();Map<K,V>// Ha...原创 2020-04-06 18:56:35 · 709 阅读 · 0 评论 -
Java LinkedList 双向链表实现原理
相信大家都明白 LinkedList 是基于双向链表而实现的,本篇文章主要讲解一下双向链表的实现,并且我们参考 LinkedList 自己实现一个单链表尝试一下。什么是链表?简单的来讲一下什么是链表:首先链表是一种线性的数据结构(其他数据结构还有,树、图),是在每一个节点里存到下一个节点(next)的指针(Pointer)。链表最大的好处则是采用了见缝插针的方式,链表中的每一个节点分布在内存...原创 2020-04-04 20:42:42 · 2886 阅读 · 0 评论 -
Java ArrayList() 扩容原理
平常都是直接使用 ArrayList(),今天特地看一下 ArrayList() 的扩容原理。1: 先看下 ArrayList 的属性以及构造方法,这个比较重要先看下属性// ArrayList 默认容量大小private static final int DEFAULT_CAPACITY = 10;// 一个共享的空数组, 在空实例时使用private static final Ob...原创 2020-04-01 19:20:03 · 423 阅读 · 0 评论 -
Java String equals() 方法源码实现
有时间进场看到一些比如 == 和 equals() 的区别,这样的问题,其实你只需要搞明白 equals() 的底层实现,这个问题绝对不难。下面是关于 equals() 方法的源码,首先 String 的 equals() 方法是 String 类重写了 Object 的 equals() 方法而实现的。// Object equals()public boolean equals(Obje...原创 2020-04-01 13:04:34 · 526 阅读 · 0 评论 -
Java Lambda 使用
明天再写。原创 2020-03-31 22:22:49 · 138 阅读 · 0 评论 -
Java 三元运算符使用
java 提供了三元运算符(也叫三目运算符)可以用来代替 if else 语句。有的时候使用三元运算确实比 if else 要简洁的多(个人认为)。语法result = <expression> ? <operation1> : <operation2>;因为使用三元运算时需要有三个操作数,所以称为三元运算符。expression 是一个布尔表达式。当 ...原创 2020-03-31 22:10:06 · 1220 阅读 · 0 评论 -
Java elasticsearch 基本使用
今天使用到,所以记录了下来,可以搭配 kinaba 使用会更加方便,废话少说。以下示例是一个解析日志的场景添加依赖<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client&...原创 2020-03-18 17:35:48 · 154 阅读 · 0 评论 -
Java 面向对象设计程序的五个基本特性一
Java 面向对象设计的五个基本特性万物皆对象:将对象视为奇特的变量,可以存储数据。除此之外,还可以要求它在自身上执行操作。理论上来说:你可以抽取待求解问题的任何概念化构件(狗、建筑物、服务等)。程序是对象的集合,它们通过发送消息来告诉彼此所要做的:要想请求一个对象,就必须对该对象发现一条消息,更具体的来说:可以把消息看作对某个对象的方法的调用请求。每个对象都有自己的由其他对象所构成的存储...原创 2019-06-02 02:12:31 · 458 阅读 · 0 评论 -
Java 线程状态转换
Java 线程状态转换java 一共定义了五种线程状态,随意一个线程在任意一个状态有且只有其中一种状态。新建(New):创建狗尚未启动的线程处于这种状态运行(Runable):Runable 包括了操作系统线程状态中的 Running 和 Reddy,也就是说处于此状态的线程有可能正在执行,也有可能正在等待 CPU 为它分配执行时间无限期等待(Waiting):处于这种状态的线程不会...原创 2019-09-30 14:55:58 · 165 阅读 · 0 评论 -
Java 内存交互操作
Java 内存将交互操作java 的内存操作一共定义了八种操作来完成,虚拟机实现时必须保证每一种操作都是原子的、不可再分的(对于 double、long 类型来说,load、store、read、write操作在某些平台是允许的)。lock:作用于主内存的变量,它把有个变量表示为一个线程独占的状态unlock:作用于主内存的变量,它把一个锁定状态的变量解锁,解锁之后的变量才可以被其他...原创 2019-09-29 15:10:46 · 302 阅读 · 0 评论