- 军军小站|张军博客
拥有Java标签的文章
Java

java解惑你知多少(二)

8.+=复合赋值问题x+=i与x=x+i等效吗,许多程序员都会认为第一个表达式x+=i只是第二个表达式x=x+i的简写方式,但这并不准确。Java语言规范中提到:复合赋值E1op=E2等价于简单赋值E1=(T)((E1)op(E2)),其中T是E1的类型。复合赋值表达式自动地将所执行计算的结果转型为其左侧变量的类型。如果结果的类型与该变量的类型相同,那么这个转型不会造成任何影响,然而,如果结果的类型比该变量的类型要宽,那么复合赋值操作符将悄悄地执行一个窄化

系统 2019-08-29 22:02:50 2097

Java

Java多线程面试问题集锦

如果你即将去一家从事大型系统研发的公司进行Java面试,不可避免的会有多线程相关的问题。下面是一些针对初学者或者新手的问题,如果你已经具备良好的基础,那么你可以跳过本文,直接尝试针对进阶水平的Java多线程编程问题及解答。关联链接:Javamulti-threading-1|Javamulti-threading-2问题:进程和线程的区别解答:一个进程对应一个程序的执行,而一个线程则是进程执行过程中的一个单独的执行序列,一个进程可以包含多个线程。线程有时候

系统 2019-08-29 22:02:31 2097

Java

java

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。什么是J

系统 2019-08-12 09:30:34 2097

Java

java常用类库-正则表达式【2】

5、Pattern类和Matcher类:1)Pattern类主要是表示一个规则的意思:正则表达式的规则要在Pattern类中使用。2)Matcher类主要表示使用Pattern类指定好的验证规则。publicstaticPatterncompile(Stringregex)将给定的正则表达式编译到模式中。publicstaticPatterncompile(Stringregexintflags)将给定的正则表达式编译到具有给定标志的模式中。publicM

系统 2019-08-12 09:30:00 2097

Java

【java多线程与并发库】---传统java多线程<3> .

1、java中用两种线程:1)守护线程守护线程(Daemon)是比较特殊的一种低级别线程,一般被用于在后台为其它线程提供服务。比如当用户编写Word文档时,不断进行拼写检查的线程就是个守护线程,它不会影响用户编辑文件。典型的守护线程例子是JVM中的系统资源自动回收线程,它始终在低级别的状态中运行,不需要占用大量的系统资源,多用于实时监控和管理系统中的可回收资源。可以通过调用方法isDaemon()来判断一个线程是否是守护线程,而将一个用户线程设置为守护线程

系统 2019-08-12 09:29:59 2097

Java

java异常

e.printStackTrace();本文从Java异常最基本的概念、语法开始讲述了Java异常处理的基本知识,分析了Java异常体系结构,对比Spring的异常处理框架,阐述了异常处理的基本原则。并且作者提出了自己处理一个大型应用系统异常的思想,并通过设计一个异常处理的框架来论述此思想。一、异常的概念和Java异常体系结构异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Java语言的异常处理框架,是Java语言健壮性的一个重要体

系统 2019-08-12 09:29:41 2097

Java

JAVA面试题解惑系列(一)——类的初始化顺序

好东西分享大家在去参加面试的时候,经常会遇到这样的考题:给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和一些变量,构造器里可能还有一段代码对变量值进行了某种运算,另外还有一些将变量值输出到控制台的代码,然后让我们判断输出的结果。这实际上是在考查我们对于继承情况下类的初始化顺序的了解。我们大家都知道,对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器。我们也可以通过

系统 2019-08-12 09:29:28 2097

Java

C# 制作Java +Mysql+Tomcat 环境安装程序,一键

原文:C#制作Java+Mysql+Tomcat环境安装程序,一键式安装要求:JDK、Mysql、Tomcat三者制作成一个安装包,不能单独安装,安装过程不显示三者的界面,安装完成要配置好JDK环境、Mysql服务、Tomcat服务目的:解决客户在安装软件的复杂配置和繁琐便于管理软件版本便于系统集成分析:由于不能使用软件的原始安装版本,故只能将JDK的安装目录拷贝出来,放在D盘的SoftSource文件夹,由于要管理三者,将这三个放进一个文件夹里面Mysq

系统 2019-08-12 01:32:23 2097

Java

Java安全通信:HTTPS与SSL

1.HTTPS概念1)简介HTTPS(全称:HypertextTransferProtocoloverSecureSocketLayer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。2)HTTPS和HTTP的区别a.https协议需要到

系统 2019-08-29 22:31:57 2096

Java

Java集合2:类 AbstractCollection及源码

1.继承关系图2.概览此类提供Collection接口的骨干实现,以最大限度地减少了实现此接口所需的工作。3.方法构造方法摘要protectedAbstractCollection()唯一的构造方法。方法摘要booleanadd(Ee)确保此collection包含指定的元素(可选操作)。booleanaddAll(Collectionc)将指定collection中的所有元素都添加到此collection中(可选操作)。voidcl

系统 2019-08-29 22:26:18 2096

Java

深入分析 Java I/O 的工作机制

I/O问题可以说是当今互联网Web应用中所面临的主要问题之一,因为当前在这个海量数据时代,数据在网络中随处流动。这个流动的过程中都涉及到I/O问题,可以说大部分Web应用系统的瓶颈都是I/O瓶颈。本文的目的正是分析I/O的内在工作机制,你将了解到:Java的I/O类库的基本架构;磁盘I/O工作机制;网络I/O的工作机制;其中以网络I/O为重点介绍JavaSocket的工作方式;你还将了解到NIO的工作方式,还有同步和异步以及阻塞与非阻塞的区别,最后我们将介

系统 2019-08-29 22:25:44 2096

Java

JAVA面试题解惑系列(十一)——这些运算符你是

好东西分享有些运算符在JAVA语言中存在着,但是在实际开发中我们或许很少用到它们,在面试题中却时常出现它们的身影,对于这些运算符的含义和用法,你是否还记得呢?自增(++)和自减(--)运算符我们先来回答几个问题吧:Java代码inti=0;intj=i++;intk=--i;inti=0;intj=i++;intk=--i;这段代码运行后,i等于多少?j等于多少?k等于多少?太简单了?好,继续:Java代码inti=0;intj=i+++++i;intk=

系统 2019-08-12 09:30:14 2096

Java

java笔记-工厂模式

一、引子话说十年前,有一个爆发户,他家有三辆汽车(Benz(奔驰)、Bmw(宝马)、Audi(奥迪)看来这人比较爱国,没有日本车),还雇了司机为他开车。不过,爆发户坐车时总是这样:上Benz车后跟司机说"开奔驰车!",坐上Bmw后他说"开宝马车!",坐上Audi后他说"开奥迪车!"。你一定说:这人有病!直接说开车不就行了?!而当把这个爆发户的行为放到我们程序语言中来,我们发现C语言一直是通过这种方式来坐车的!幸运的是,这种有病的现象在OO语言中可以避免了。

系统 2019-08-12 09:30:02 2096

Java

java字符串应用之表达式解析器

一、表达式的组成1、数字2、运算符:+-/*^%=3、圆括号4、变量二、运算符优先级由高到低分别为:+-(正负号)、^、*/%、+-、=优先级相等的运算符按照从左到右的顺序计算三、关键技术点1、确定运算的优先级,从高到低分别为:原子元素表达式,包括数字和变量;括号表达式;一元表达式,取数的负数;指数表达式;乘、除、取模表达式;加、减表达式;赋值表达式。2、对于每一级别的运算,都由一个方法实现,在方法中先完成比自己高一级别的运算,再处理本级别的运算。因此,在

系统 2019-08-12 09:29:44 2096

Java

Java、Tomcat 及 MySQL 环境配置

Java开发环境的配置首先我们要下载JDK。到Oracle官网上去下载即可,目前最新版是JavaSE8u25。开始我很混乱,JavaSE和JDK是什么关系呢?最后查了一下JavaSE=JDK+JRE。JDK就是Java开发工具包,JRE就是Java运行环境,我们做开发,需要本地运行调试,直接安装JavaSE就好了。JavaSE是Java开发的标准版本,JavaEE和JavaME都是基于它的。安装好JDK后,我们需要配置本地开发环境。在我们计算机的属性中高级

系统 2019-08-12 01:33:41 2096