摘要:
引言 最近在读HashMap源码的时候,发现在很多运算符替代常规运算符的现象。比如说用hash & (table.length-1) 来替代取模运算hash&(table.length);用if((e.hash & oldCap) == 0)判断扩容后元素的位置等等。 1.取模运算符%底层原理 阅读全文
摘要:
引言 String可以说是在Java开发中必不可缺的一种类,String容易忽略的细节也很多,对String的了解程度也反映了一个Java程序员的基本功。下面就由一个面试题来引出对String的剖析。 1. String在源码里究竟是如何实现的,它有哪些方法,有什么作用? 从源码可以看出,Strin 阅读全文
摘要:
switch语句是一个很容易忽略的语法点,在表达式支持的类型上也犯过很多错,今天就来整理一下 switch语句基本定义: switch (表达式){ case 值1: 语句体1; break; case 值2: 语句体2; break; ... default: 语句体n+1; break; } b 阅读全文
摘要:
break 使用场景:用于各种循环语句中,跳出循环 作用: 跳出break所在的那层循环(若有多层循环,只能跳出内层) public class A{ public static void main(String args[]){ int a = 60; switch(a){ case 60: Sy 阅读全文
摘要:
1.一个.java文件中可以有多个类,但是至多一个public类,因为每个编译单元(文件)只能允许有一个对外提供的公共接口供外界调用,否则会在编译时报错。而且多个类的.java文件在编译后会分别生成多个类的.class文件,编译的各个.class文件也可以分别运行实现其main方法。 1 publi 阅读全文
摘要:
最近在安装RabbitMQ中,输入rabbitmqctl status后出现这样的错误 Status of node rabbit@Desktopxxxxx ** (ArgumentError) argument error (stdlib) io_lib.erl:170: :io_lib.form 阅读全文
摘要:
一般网上的解决方法主要有 重新mvn clean/install,或者直接reimport 修改maven的设置,修改maven的setting.xml文件中的本地仓库,镜像等等。 在这些方法都试过以后,我看到我的IDEA版本是最新2020.1.1.想着死马当活马医,重新安装了2019的版本。顺利解 阅读全文
摘要:
给定一个整数数组 ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: **输入:** [-2,1,-3,4,-1,2,1,-5,4], **输出:** 6 **解释:** 连续子数组 [4,-1,2,1] 的和最大,为 6。 方法一:暴力法 public int Ma 阅读全文
摘要:
面向过程和面向对象的区别 面向过程(结构化程序设计) 实际上是一个面向操作过程,首先设计一系列过程(算法)来求解问题(操作数据),然后再考虑存储数据的方式(组织数据)。即程序=算法\+数据结构。对应典型的计算机语言是c。 优点: 性能比面向对象高,调用速度快,比如单片机、嵌入式开发、Linux/Un 阅读全文
摘要:
第一步:明确题目的意思 第二步:列出所有可能的解法,寻找最优解 第三步:实操,写代码,并优化 第四步:反馈并测试解法 提醒:要理解代码的思路后再开始背写,而不是一边看题解,一边敲代码。这不是程序员,这是打字员! 阅读全文