Java
码农博士
从事互联网开发10年,曾在多个公司任职项目经理,擅长微服务、分布式搜索的架构设计; 精于JVM、TCP大并发性能调优。
展开
-
类的封装、继承与多态
原文链接:类的封装,继承与多态类的封装、继承与多态类的封装相当于一个黑匣子,放在黑匣子中的东西你什么也看不到。继承是类的一个重要属性,可以从一个简单的类继承出相对复杂高级的类,这样可使程序编写的工作量大大减轻。多态则可动态地对对象进行调用,使对象之间变得相对独立。接下来我们来讨论:封装、继承和多态。封装封装定义什么是封装性?读者可以先看下面的程序,看看会产生什么问题。class Person{ public String name; public int age;原创 2020-07-03 23:02:01 · 685 阅读 · 0 评论 -
面向对象程序设计的基本概念
原文链接:面向对象设计—类和对象**1. 面向对象程序设计的基本概念Java是一种面向对象的编程语言。面向对象编程,英文是Object-Oriented Programming,简称OOP。那什么是面向对象编程?面向对象其实是现实世界模型的自然延伸。可以将现实世界中的任何实体都看做是对象,对象之间通过消息相互作用。另外,现实世界中的任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的过程式编程语言是以过程为中心、以算法为驱动的话,面向对象的编程语言则是以对象为中心、以消息为驱动。用原创 2020-06-30 16:56:24 · 3680 阅读 · 0 评论 -
常用的数据结构—数组
原文链接:常用的数据结构常用的数据结构—数组数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。Java 语言中提供的数组是用来存储固定大小的同类型元素。你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,…,number99。要使用Java的数组,必须经过以下两个步骤。(1) 声明数组。(2) 分配内存给该数组。一维数组这两个步骤的语法如下。数据类型 数组名[];原创 2020-06-29 20:20:36 · 470 阅读 · 0 评论 -
掌握Java基础控制结构,编程就已经开始了
原文链接:程序控制结构程序控制结构程序之所以能够按照人们的意愿执行,主要依靠的就是程序的控制结果。本章重点介绍选择与循环结构语句,学习如何利用这些不同的结构编写出有趣的程序,让程序的编写更灵活,操控更方便。结构化程序设计语言,强调用模块化、积木式来建立程序。采用结构化程序设计方法,可使程序的逻辑结构清晰、层次分明、可读性好、可靠性强,从而提高了程序的开发效率,保证了程序质量,改善了程序的可靠性。一般来说程序的结构包含以下3种。顺序结构选择结构循环结构顺序结构结构化程序的最简单的结构就是原创 2020-06-28 15:36:54 · 169 阅读 · 0 评论 -
Eclipse使用指南与安装
原文链接:Eclipse使用指南获取eclipse安装包Eclipse使用指南字体类型和大小设置JDK设置Eclipse更换炫酷黑色主题eclipse中使用Git-学习安装和卸载插件设置代码的字体类型和大小:Window -> Preferences -> General -> Appearance -> Content Assist -> Colors and Fornts,只需修改 Basic 里面的 Text Font 就可以了JDK配置Wind原创 2020-06-25 11:23:28 · 322 阅读 · 0 评论 -
常量与变量入门基础
原文链接:最常用的编程元素内容声明常量常量应用示例声明变量变量命名规则变量作用范围常量概念常量就是固定不变的量,一旦被定义,它的值就不能再被改变。语法:final 数据类型 常量名称[=值] (注:[ ]中括号中的内容是可选项)常量名称通常使用大写字母,但并不是硬性要求,仅仅是一个习惯而已。常量应用示例当常量用于一个类的成员变量时,必须给常量赋值,否则会出现编译错误。package com.coder306.cn.field;public class Main { //原创 2020-06-24 21:07:36 · 195 阅读 · 0 评论 -
2020年6月TIOBE编程语言排名公布
原文:2020年6月TIOBE编程语言排名公布2020年6月TIOBE指数6月头条:Rust 首次进入TIOBE指数前20名编程语言 Rust 诞生近 10 年后首次进入 TIOBE 指数前 20 名。这令人惊讶吗?在过去的5年里,Rust 被 Stackoverflow 用户授予"最受欢迎的编程语言"。一排!主要原因是 Rust 是一种系统编程语言,它做得正确。Rust 解决了其他语言的所有详细编程和锐边,同时以静态强类型进行解调。其类型系统可防止运行时空指针异常,并计算编译时内存管理。因此,没有垃翻译 2020-06-16 22:09:42 · 1384 阅读 · 0 评论 -
编程语言排行榜-大学生选择专业方向的指南针
原文连接:编程语言排行榜-大学生选择专业方向的指南针前言本文章中语言排名数据来自TIOBE排行榜和PYPL排行榜。这段时间一直在忙,都忘记更新这个排行榜了,今天重操旧业,给大家看一下5月份的编程语言排行榜TIOBE排行榜5月份数据[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m4Z93gkt-1592315249238)(https://i.loli.net/2020/06/16/xDbisIkhHztJGnL.png)]2020年5月TIOBE指数以下是官方原创 2020-06-16 21:48:03 · 368 阅读 · 0 评论 -
logback.xml 不能被加载,logback不能被执行,logback.xml 无法生效,slf4j日志样式输出失败
1. 原因logback.xml 无法被加载, 尝试了好久还是失败,哎,最后新建工程竟然可以,所以说还是项目的问题;原来项目依赖了两个slf4j.jar,是版本冲突了;2. 查找原因idea Terminal 输入:mvn dependency:tree发现是com.baidu.aip 依赖了旧版本mvn dependency:tree3. 解决...原创 2020-03-27 00:29:09 · 2072 阅读 · 0 评论 -
Unable to resolve dependency for ':app@debug/compileClasspath': Could not find any version that matc
错误展示:错误提示:Unable to resolve dependency for ':app@debug/compileClasspath': Could not find any version that matches com.android.support:appcompat-v7:29.+.Unable to resolve dependency for ':app@de...原创 2020-03-25 23:36:53 · 2763 阅读 · 3 评论 -
gitbub.com设置协作者提交代码步骤
1. 邀请协作者点击settings2. 等待协作者接受邀请关注注册邮箱3. 协作者生成公钥一路回车即可ssh-keygen -t rsa -b 4096 -C "公众号:九点半编程"查看复制公钥cat ~/ssh/id_ras.pub4. 增加协作者公钥到项目Settings-->Deploy keys-->add new...原创 2020-03-25 00:19:57 · 494 阅读 · 0 评论 -
ssh生成单个公钥
ssh生成单个公钥命令:ssh-keygen -t rsa -b 4096 -C "your_email@example.com"查看公钥:cat ~/.ssh/id_rsa.pub同时生成两个公钥:user1@163.com邮箱:ssh-keygen -t rsa -C "user1@163.com" -f ~/.ssh/id_rsa_user1 user2@1...原创 2020-03-24 23:27:59 · 179 阅读 · 1 评论 -
Android studio debug apk包安装失败
可在根目录gradle.properties中配置android.injected.testOnly=false原创 2020-03-22 19:35:43 · 1554 阅读 · 1 评论 -
AndroidStudio 编译失败;Caused by: org.gradle.api.resources.ResourceException: Could not get resource..
错误信息:Caused by: org.gradle.api.resources.ResourceException: Could not get resource 'https://jcenter.bintray.com/org/xxx.jar'.修改方法如下:1. 打开项目文件:build.gradle 2. 把原有build配置allprojects ...原创 2020-03-21 23:14:39 · 2518 阅读 · 0 评论 -
docsify 如何写博客
1. 安装node下载安装即可: https://nodejs.org/zh-cn/下载文件:https://nodejs.org/dist/v12.16.1/node-v12.16.1-x64.msihttps://nodejs.org/dist/v13.11.0/node-v13.11.0-x64.msi2. 安装githttps://git-scm.c...原创 2020-03-19 00:28:29 · 660 阅读 · 0 评论 -
npm设置为淘宝镜像地址
1. npm设置为淘宝镜像$npm config set registry https://registry.npm.taobao.org2. 检查一下$npm config get registry补充:npm全称=node package manager 是Node.js的包管理器,用于node插件的安装、卸载、管理依赖等。使用npm安装插件:例:npm ...原创 2020-03-18 23:58:27 · 4159 阅读 · 0 评论 -
Java中的四种引用方式
无论是通过引用计数算法判断对象的引用数量,还是通过可达性分析算法判断对象的引用链是否可达,判定对象是否存活都与“引用”有关。在Java语言中,将引用又分为强引用、软引用、弱引用、虚引用4种,这四种引用强度依次逐渐减弱。无论是通过引用计数算法判断对象的引用数量,还是通过可达性分析算法判断对象的引用链是否可达,判定对象是否存活都与“引用”有关。在JDK 1.2以前,Java中的引用的定义很传统:如...原创 2020-03-18 21:30:34 · 313 阅读 · 0 评论 -
Java基础-Java中transient有什么用-序列化有那几种方式
此文转载于知乎的一篇文章,看着写的非常全面,分享给大家。先解释下什么是序列化我们的对象并不只是存在内存中,还需要传输网络,或者保存起来下次再加载出来用,所以需要Java序列化技术。Java序列化技术正是将对象转变成一串由二进制字节组成的数组,可以通过将二进制数据保存到磁盘或者传输网络,磁盘或者网络接收者可以在对象的属类的模板上来反序列化类的对象,达到对象持久化的目的。更多序列化请参...转载 2020-03-15 22:58:04 · 166 阅读 · 0 评论 -
Java 14带来了许多新功能
本文是作者翻译自java magazine的文章,我也将回持续的关注java的最新消息,即时和大家分享。如有翻译不准确的地方,欢迎大家留言,我将第一时间修改。Java 14包含比前两个发行版更多的新功能-其中大多数旨在简化编码。劳尔·加布里埃尔·乌尔玛(Raoul-Gabriel Urma)2020年2月27日Java 14计划于3月17日发布。版本14包含的JEP(Jav...翻译 2020-03-13 11:35:59 · 224 阅读 · 0 评论 -
容器中的Java堆大小调整:快速,轻松
在上一篇博客中,我们已经看到Java进行了改进,可以根据正在运行的环境(即物理机或容器(码头工人))识别内存。java的最初问题是,它无法弄清楚它是否在容器中运行,并且它曾经为容器运行所在的整个硬件捕获内存。(请参阅-ttps://blogs.oracle.com/java/java-on-container-like-a-pro)现在,在容器中运行的Java程序能够识别cgroup限制并...翻译 2020-03-13 10:38:44 · 684 阅读 · 0 评论 -
JSON Web令牌(JWT)介绍与使用
手机端接口开发会遇到一个问题是,接口登录后需要返回一个Token。token首先有一点必须唯一,每次请求都需要把token给带上。基于必须唯一的特性,很多朋友在开发是都选择了uuid。是不是token的生成有没有可以遵循的标准,或生成token的一些技术呢?本文将介绍生成token标记JSON Web Token(TWT)。什么是JSON Web令牌?JSON Web令牌(JWT)是一...原创 2020-03-03 12:55:42 · 921 阅读 · 0 评论 -
Java技术开发标准JSR介绍
JSR我们需要先提及JCP(Java Community ProcessSM(JCPSM))。JCP是为Java技术开发标准技术规范的机制。任何人都可以注册并参与审阅和提供Java规范请求(JSR)的反馈,任何人都可以注册成为JCP成员,然后参与JSR的专家组,甚至提交他们自己的JSR提案。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。...原创 2019-05-10 11:56:55 · 4214 阅读 · 0 评论