
Java 基础知识
文章平均质量分 84
已改行
溜了溜了
展开
-
Java 编译与运行(通过记事本运行Java程序)
一、使用记事本编辑程序代码用记事本编写的是java的源代码文件,里面的代码就是我们平时学习的java代码。生成的文件后缀是.java文件,.java文件是不能直接执行的,需要通过后续的编译等处理才能变为可执行的程序。二、使用javac命令编译源代码文件Javac是自带的编译器,它的作用是将源代码文件进行编译,编译通俗的来讲就是把源代码文件解析成计算机能读懂的文件的过程(计算机是无法直接...原创 2018-07-09 12:55:40 · 1446 阅读 · 0 评论 -
理解hashCode和equals的作用和区别
以前写程序一直没有注意hashCode的作用,一般都是覆盖了equals,缺没有覆盖hashCode,现在发现这是埋下了很多潜在的Bug!今天就来说一说hashCode和equals的作用。       先来试想一个场景,如果转载 2018-06-27 20:25:41 · 3824 阅读 · 2 评论 -
java中的二进制以及基本位运算
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。那么Java中的二进制又是怎么样的呢...原创 2018-06-30 17:50:57 · 45981 阅读 · 3 评论 -
IntelliJ Idea 常用快捷键整理
Ctrl+Shift + Enter,语句完成 “!”,否定完成,输入表达式时按 “!”键 Ctrl+E,最近的文件 Ctrl+Shift+E,最近更改的文件 Shift+Click,可以关闭文件 Ctrl+[ OR ],可以跑到大括号的开头与结尾 Ctrl+F12,可以显示当前文件的结构 Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择 Ctrl+N,可...原创 2018-07-03 20:19:17 · 196 阅读 · 0 评论 -
Java 中this和super的使用
这几天看到类在继承时会用到this和super,这里就做了一点总结,与各位共同交流,有错误请各位指正~thisthis是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。this的用法在java中大体可以分为3种:1.普通的直接引用这种就不用讲了,this相当于是指向当前对象本身。2.形参与成员名字重名,用this来区分:class Person { ...原创 2018-07-05 21:30:37 · 158 阅读 · 0 评论 -
Java 回调机制(CallBack)理解
序言最近学习java,接触到了回调机制(CallBack)。初识时感觉比较混乱,而且在网上搜索到的相关的讲解,要么一言带过,要么说的比较单纯的像是给CallBack做了一个定义。当然了,我在理解了回调之后,再去看网上的各种讲解,确实没什么问题。但是,对于初学的我来说,缺了一个循序渐进的过程。此处,将我对回调机制的个人理解,按照由浅到深的顺序描述一下,如有不妥之处,望不吝赐教!开始之前,先想象一...转载 2018-07-06 11:29:50 · 202 阅读 · 0 评论 -
Java 原子性和可见性理解
1、原子性(1)原子是构成物质的基本单位(当然电子等暂且不论),所以原子的意思代表着——“不可分”;(2)原子性是拒绝多线程操作的,不论是多核还是单核,具有原子性的量,同一时刻只能有一个线程来对它进行操作。简而言之,在整个操作过程中不会被线程调度器中断的操作,都可认为是原子性。例如 a=1是原子性操作,但是a++和a +=1就不是原子性操作。 2、非原子性也就是整个过程中会出...原创 2018-07-06 17:28:39 · 1275 阅读 · 0 评论 -
Java 内存模型(Java Memory Mode)理解
并发的两个关键问题1、线程之间如何通信2、线程之间如何同步 通信是指线程之间以何种机制来交换信息,在命令式编程中,通信机制有两种:共享内存和消息传递;JAVA的并发采用的是共享内存,线程之间的通信总是隐式进行。 同步指程序中用于控制不同线程间操作发生相对顺序的机制,在共享内存并发模型中,同步是显式进行的。JAVA的内存模型1、共享变量:分配在堆内存中的元素都是共享变量,包括实例域、...原创 2018-07-06 19:15:12 · 2476 阅读 · 0 评论 -
Java Synchronized关键字理解
并发编程中synchronized一直是元老级角色,我们称之为重量级锁。主要用在三个地方:1、修饰普通方法,锁是当前实例对象。2、修饰类方法,锁是当前类的Class对象。3、修饰代码块,锁是synchronized括号里面的对象。一、synchronized实现原理当一个线程试图访问同步代码块时,必须得到锁。在退出或抛出异常时必须释放锁,JVM是基于进入和退出Monitor来实现方法同步...原创 2018-07-06 19:21:45 · 231 阅读 · 0 评论 -
Java 抽象类和接口的联系与区别
很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题。本文我们将仔细讨论这些话题。在讨论它们之间的不同点之前,我们先看看抽象类、接口各自的特性。抽象类抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。以JDK中的GenericServlet为例:public a...原创 2018-07-15 19:10:47 · 466 阅读 · 0 评论 -
Java 集合的三种遍历方式优缺点分析
1、Iterator接口Iterator是Java集合框架的成员,主要用于遍历(即迭代访问)Collection集合中的元素,也称为迭代器。提供的三种方法:boolean hasNext():返回集合里的下一个元素。Object next():返回集合里下一个元素。void remove();删除集合里上一次next方法返回的元素。简单实例:public class t...原创 2018-07-22 15:31:26 · 1260 阅读 · 0 评论 -
java正则表达式
Java 正则表达式详解 - 常用示例/多行匹配/贪婪模式/语法API 字符串匹配验证Email是否正确public static void main(String[] args) { // 要验证的字符串 String str = "service@xsoft...原创 2018-06-25 16:38:41 · 152 阅读 · 0 评论 -
java命名规范
Java命名规范  驼峰法则:将所有字母都小写(包括缩写),然后将单词的第一个字母大写。每个单词的第一个字母都大写,来得到大驼峰式命名。除了第一个单词,每个单词的第一个字母都大写,来得到(小)驼峰式命名。 为避免歧义,文中小驼峰法统称为驼峰法,大...原创 2018-06-25 15:45:09 · 489 阅读 · 9 评论 -
动态语言理解
Python是一门动态的语言1、什么是动态语言 动态编程语言是高级程序设计语言的一个类别,他是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被改进,已有的函数可以被删除或者是其他的结构上的变化。动态语言有:javascript、php、Ruby、Python等都是动态语言。2、运行过程中给对象绑定(添加)属性...原创 2018-07-09 17:34:22 · 2375 阅读 · 1 评论 -
Java 编译时、运行时、构建时理解
在开发和设计的时候,我们需要考虑编译时,运行时以及构建时这三个概念。理解这几个概念可以更好地帮助你去了解一些基本的原理。下面是初学者晋级中级水平需要知道的一些问题。Q.下面的代码片段中,行A和行B所标识的代码有什么区别呢?public class ConstantFolding { static final int number1 = 5; static final...原创 2018-07-09 18:46:24 · 5753 阅读 · 3 评论 -
Java 注解(Annotation)理解
内容概要Annotation的概念Annotation的作用Annotation的分类系统内置注解元注解自定义注解解析注解信息JDK8注解新特性附:项目源码地址一、Annotation的概念Annotation(注解)是插入代码中的元数据,在JDK5.0及以后版本引入。它可以在编译期使用预编译工具进行处理, 也可以在运行期使用 Java 反射机制进行处理,用于创建...原创 2018-07-10 23:24:28 · 272 阅读 · 0 评论 -
Java 解析XML文件
XML是一种通用的数据交换格式,它的平台无关性、语言无关性、系统无关性、给数据集成与交互带来了极大的方便。XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已。XML解析——Java中XML的四种解析方式XML的解析方式分为四种:1、DOM解析;2、SAX解析;3、JDOM解析;4、DOM4J解析。其中前两种属于基础方法,是官方提供的平台无关的解析方式;后两种属于扩展方...原创 2018-07-17 12:17:31 · 195 阅读 · 0 评论 -
Java 写入XML文件
DOM和SAX方式是JAVA官方提供的方式,可以生成一个XML文件来存储信息,DOM4J和JDOM是非官方的方式,可以生成一个RSS文件一、DOM方式生成XML文档DOMTest:public class DOMTest { /*生成xml*/ public void createXML() throws Exception{ DocumentBuild...原创 2018-07-17 12:50:38 · 12478 阅读 · 2 评论 -
Java XStream理解
XStream是一个Java对象和XML相互转换的工具,很好很强大。提供了所有的基础类型、数组、集合等类型直接转换的支持。因此XML常用于数据交换、对象序列化(这种序列化和Java对象的序列化技术有着本质的区别)。XStream对象相当Java对象和XML之间的转换器,转换过程是双向的。创建XSteam对象的方式很简单,只需要new XStream()即可。 Java到xml,用toXM...原创 2018-07-17 16:01:53 · 3985 阅读 · 2 评论 -
Java 事务
一、什么是JAVA事务 通俗的理解,事务是一组原子操作单元,从数据库角度说,就是一组SQL指令,要么全部执行成功,若因为某个原因其中一条指令执行有错误,则撤销先前执行过的所有指令。更简答的说就是:要么全部执行成功,要么撤销不执行。事务必须服从ISO/IEC所制定的ACID原则。原子性(atomicity)表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。一致性(cons...原创 2018-07-24 22:48:36 · 147 阅读 · 0 评论 -
Java 命名和目录服务JNDI
JNDI(Java Naming and Directory Interface)- Java命名和目录接口,是一组在Java应用中访问命名和目录服务的API。为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口,类似JDBC都是构建在抽象层上。命名服务将名称和对象联系起来,可以用名称访问对象。目录服务是一种命名服务,在这种服务里,对象不但有名称还有属性。一、命名服务与目录服务...原创 2018-07-24 22:49:23 · 794 阅读 · 0 评论 -
Java 泛型理解
引言泛型是Java中一个非常重要的知识点,在Java集合类框架中泛型被广泛应用。本文我们将从零开始来看一下Java泛型的设计,将会涉及到通配符处理,以及让人苦恼的类型擦除。泛型基础泛型类我们首先定义一个简单的Box类:public class Box { private String object; public void set(String object...原创 2018-07-07 14:56:17 · 170 阅读 · 0 评论 -
微信小程序登录状态java后台解密
一、登录流程图二、微信小程序端doLogin:function(callback = () =>{}){ let that = this; wx.login({ success:function(loginRes){ if(loginRes){ //获...原创 2018-06-22 20:02:38 · 4249 阅读 · 6 评论 -
entity包、model包、domain包的区别
(1)、entity(实体)entity的意思就是实体的意思,所以也是最常用到的,entity包中的类是必须和数据库相对应的,比如说:数据库有个user表,字段有long类型的id,string类型的姓名,那么entity中的user类也必须是含有这两个字段的,且类型必须一致。不能数据库存的是long类型,user类里的属性是string类型。这样做的好处是保持实体类和数据库保持一致,另外,当...原创 2018-08-15 12:56:23 · 19915 阅读 · 6 评论