一些Java基础方面问题的总结
1、Overloaded的方法是否可以改变返回值的类型?
答案:可以。
overload是重载,overloaded是什么?重载的过去式?我还以为是我没见过的注解,也没有给限定条件,代码测试一下。
public class Test {
public void getTest() {
System.out.println("无返回值!");
} // public String getTest(){
// return "返回String";
// } public String getTest(String str) {
return str;
} // public Integer getTest(String str){
// return 0;
// } public String getTest(String str, Integer num) {
return "返回String";
}
}
注释部分报错,很明显,如果吧这个单词也解释为重载的话,重载的基本定义:类名相同,参数不同,同类。所以我认为答案应该是,在参数不同的情况下,重载与返回值无关。
2、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法可以主动通知虚拟机进行垃圾回收?
这个问题可以延伸到jvm方面的知识,java本身是运行在jvm上的,所以才实现了跨平台,在项目较小的时候,我们基本不用考虑内存管理方面的问题。
谈到jvm,就要了解jvm的内存结构,jvm的内存结构包括五大区域:程序计数器、虚拟机栈、本地方法栈、堆区、方法区。而程序计数器、虚拟机栈、本地方法栈3个区域是根据线程启动而创建和销毁。所以基本不用考虑垃圾回收的问题。
而我们需要关注的就是堆区、方法区的垃圾回收。
具体可以参考:
给出可以参考的答案:垃圾回收器是作为一个单独的低级别的线程运行,在不可知的情况下对内存堆中已死亡的或者长期没有使用的对象回收,但是不能实时的对某一对象或者所有对象进行垃圾回收。所以根据原理,无法马上回收内存。可以使用System.gc()方法通知虚拟机进行垃圾回收。
3、sleep()和wait()有什么区别
区别1:sleep()后,程序并不会不释放同步锁。wait()后,程序会释放同步锁。
区别2:sleep()指定时间唤醒,wait()使用notify()直接唤起。
4、A,B两个人分别在两座岛上。B生病了,A有B所需的药。C有一艘小船和一个可以上锁的箱子。C愿意在A和B之间运东西,但东西只能放在箱子里。只要箱子没被锁上锁,C都会偷走箱子里的东西,不管箱子里是什么。如果A和B各自有一把锁和只能开自己那把锁的钥匙,A应该如何把东西安全的交给B?
想了一下,想到了一个方法。A把药放到箱子里,然后锁上,交给B,B把箱子锁上,交给A,此时箱子有两把锁,A开锁后交给B,这样就完成了运送,在这些过程中,箱子在C的手上始终都有钥匙,所以安全性没有问题。
5、用最有效率的方法算出 2 乘以 8 等于几?
2 << 3
6、 web 运用程序的稳定、安全需要考虑哪些?
Web 服务器的性能考虑主要有:并发用户数、事务安全、负载均衡、时段流量、网络带宽 网格安全等。
网络安全方面:
1、关键数据的保护,例如用户数据等
2、功能服务的正常提供。
3、网站的防攻击能力。
4、对异常灾害的恢复能力。
程序性能:
1、响应请求并运行得出结果的时间。
2、错误的检测和拦截。
3、扩展性。
一些Java基础方面问题的总结的更多相关文章
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)
如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html 谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...
- 【JAVA面试题系列一】面试题总汇--JAVA基础部分
JAVA基础 基础部分的顺序: 基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法 线程的语法,集合的语法,io 的语法,虚拟机方面的语法 每天几道,持续更新!! 1.一个". ...
- 最适合作为Java基础面试题之Singleton模式
看似只是最简单的一种设计模式,可细细挖掘,static.synchronized.volatile关键字.内部类.对象克隆.序列化.枚举类型.反射和类加载机制等基础却又不易理解透彻的Java知识纷纷呼 ...
- java基础练习 字符串,控制流,日历,日期等
1,对基本控制流程的一些练习 package org.base.practice3; import org.junit.Test; /** * Created with IntelliJ IDEA. ...
- Java基础知识【下】( 转载)
http://blog.csdn.net/silentbalanceyh/article/details/4608360 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...
- Java基础知识【上】(转载)
http://blog.csdn.net/silentbalanceyh/article/details/4608272 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...
- java基础学习03(java基础程序设计)
java基础程序设计 一.完成的目标 1. 掌握java中的数据类型划分 2. 8种基本数据类型的使用及数据类型转换 3. 位运算.运算符.表达式 4. 判断.循环语句的使用 5. break和con ...
- Java基础加强之多线程篇(线程创建与终止、互斥、通信、本地变量)
线程创建与终止 线程创建 Thread类与Runnable接口的关系 public interface Runnable { public abstract void run(); } public ...
- java基础知识小总结【转】
java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...
随机推荐
- 关于 RESTful API 中 HTTP 状态码的定义
最近正好使用了一会儿 Koa ,在这说一下自己对各个 请求码的见解和使用场景,懒人直接看 200.400.401.403.404.500 就可以了. 其中 2XX/3XX 其实都是请求成功,但是结果不 ...
- vue 封装组件
props 接收数据 props对象里面 键值 是对改数据的 数据类型 的规定.做了规范,使用者就只能传输指定类型的数据,否则报警告 先根据要求写出完整的代码,再一一用参数实现组件封装 这里试着封装一 ...
- for循环的beak continue用法
continue跳出该循环, for循环后面的都要执行.break直接中段循环 后面不执行了
- pytorch打印模型结构图
import torchsummary from torchvision.models.resnet import * net = resnet18().cuda() print(net) 打印出来的 ...
- C++模板的要点
1.函数模板与普通函数的区别: 普通函数可以进行自动类型转化,而函数模板不可以. 举个例子 //函数模板 template<class T> void show(T a,T b){ cou ...
- SVN的安装和启动SVN的安装
SVN的安装和启动SVN的安装 i. windows下安装SVN 首先要先下载SVN服务器,下载地址https://www.visualsvn.com/downloads/ 下载软件VisualSVN ...
- 安装Oracle Grid的过程中用到的几个小技巧
1.利用文件来模拟块设备 在grid的安装教程中有一步是 provision the disk devices for use with ASM Filter Driver.但是如果我们没有多个磁盘怎 ...
- [macOS] Mojave10.14 夜神安卓模拟器启动问题
废话不多说,其它的都有在这里讨论: https://bbs.yeshen.com/forum.php?mod=viewthread&tid=8566 我的最终解决办法是,virtualbox安 ...
- CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境
持续集成概述及运行流程 : 持续集成概述 :持续集成(Continuous integration)持续集成是指开发者在代码的开发过程中 ,可以频繁的将代码部署集成到主干,并进行自动化测试 开发→代 ...
- js闭包讲解
今日看到之前写的一段js代码,关于导航部分鼠标放上去变类,鼠标离开等效果 前端代码 <div class="con12"> <div class="le ...