在这个世界不可能存在完美的东西,不管完美的思维有多么缜密,细心,我们都不可能考虑所有的因素,这就是所谓的智者千虑必有一失。同样的道理,计算机的世界也是不完美的,异常情况随时都会发生,我们所需要做的就是避免那些能够避免的异常,处理那些不能避免的异常。
这里我将介绍Java中的异常机制。
Good Good Study, Day Day Up
在这个世界不可能存在完美的东西,不管完美的思维有多么缜密,细心,我们都不可能考虑所有的因素,这就是所谓的智者千虑必有一失。同样的道理,计算机的世界也是不完美的,异常情况随时都会发生,我们所需要做的就是避免那些能够避免的异常,处理那些不能避免的异常。
这里我将介绍Java中的异常机制。
网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如202.96.134.133之类的IP地址,而不能认识域名。我们无法记住10个以上网站的IP地址,所以我们访问网站时,更多的是在浏览器地址栏中输入域名,就能看到所需要的页面,这是因为有一个叫DNS服务器的计算机自动把我们的域名“翻译”成了相应的IP地址,然后调出IP地址所对应的网页。
DNS(Domain Name System)是域名系统的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。
去一些企业面试时,经常会被问到Spring的问题,有一次就被问到关于Spring中Bean的生命周期是怎样的?其实这也是在业务中经常会遇到的,但容易遗忘,所以专门总结一下以备不时之需。
PS:可以借鉴Servlet的生命周期,实例化、初始init、接收请求service、销毁destroy。
使用过Spring的程序员都知道,我们的bean(controller、service和Dao,实体bean除外)都是通过Spring的IoC容器统一管理的,同时这些bean默认都是单例的,即一个bean在一个IoC容器中只有一个实例。这一点跟设计模式中的单例略有不同,设计模式中的单例是整个应用中只有一个实例。
最近看一个同学去面试,其中一个问题是关于Spring单例的,本文就整理一下我对Spring单例的理解。
当通过Spring容器创建一个Bean实例时,不仅可以完成Bean实例的实例化,还可以为Bean指定特定的作用域。
本文介绍了Spring中Bean的作用域的用法,作用域包括singleton、prototype、request、session和globalsession等5种。
正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。在Java并发中,countdownlatch的概念是一个常见的面试题,所以一定要确保你很好的理解了它。在这篇文章中,我将会涉及到在Java并发编程中跟CountDownLatch相关的以下几点:
计算机对有符号数(包括浮点数)的表示有三种方法:原码、反码和补码,补码=反码+1。在 二进制里,是用 0 和 1 来表示正负的,最高位为符号位,最高位为 1 代表负数,最高位为 0 代表正数。
在计算机中对数进行操作,移位操作可能比乘除操作更效率更高。比如,在ArrayList的扩容实现机制中,Java8中就将0.5倍由原来的除以2改为右移1位,以提高效率。
通常来说,root用户拥有了系统的最高控制权,按理应该不会出现permission denied的问题。但是,今天我在删除服务器上一个文件时,提示permission denied,奇怪了,我明明就是root用户啊,怎么还会权限不足呢?
最后经过一番排查,原来是文件有 隐藏的 -i属性。解决方案: