一些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 程 ...
随机推荐
- k8s-No.1-概述与架构
本章目录 k8s概述 k8s系统架构 k8s工作流程图 一 概述 k8s是什么 k8s是谷歌公司基于内部容器管理系统borg开源出的一个容器集群管理工具,它是用go语言开发,提供了容器的应用部署,规 ...
- BIO, NIO 和 Epoll (转载)
很好的文章 https://eklitzke.org/blocking-io-nonblocking-io-and-epoll
- 002-zookeeper 基本配置、安装启动 windows环境
一. 概述 ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.名字服务.分布式同步.组服务等.ZooKeeper的目标就是封装好复杂易出 ...
- 在visual studio code 中配置python以及解决中文乱码问题
安装好 visual stuido code (下面简称 “ VSC ”)后,要想使用它运行调试 python 代码还需要做一些工作以解决下列问题: 搭建 python 环境 print 打印中文出现 ...
- 将分支推送到远程存储库时遇到错误: Git failed with a fatal error. TaskCanceledException encountered.
解决:https://blog.csdn.net/dw33xn/article/details/79951714 修改下配置文件即可
- dataTable使用方法
using System; using System.Data; using System.Data.SqlClient; namespace App{ class MyClass{ public s ...
- 一张图解释IaaS,PaaS,SaaS
图片来源于MVA教程:快速入门——面向IT专业人员的Windows Azure IaaS
- #WEB安全基础 : HTTP协议 | 0x9 GET和POST请求以及请求URI的方式
请求URI的方式 1.URI为完整的请求URI GET http://hackr.jp/index.htm HTTP/1.1 2.在首部字段Host中写明域名或IP地址 GET/index.htm H ...
- AndroidStudio 快捷键(最实用的20个)(转)
有时候用的编辑器多了,快捷键容易记混淆,所以我门只用记最实用的快捷键就行了,其他效率不高的到要用的时候再查也不迟 下面是我使用AndroidStudio以来最常用的也是我认为最有用的20个快捷键 给大 ...
- pandas 时间格式转换
OUTLINE 常见的时间字符串与timestamp之间的转换 日期与timestamp之间的转换 常见的时间字符串与timestamp之间的转换 这里说的字符串不是一般意义上的字符串,是指在读取日期 ...