java基础
文章平均质量分 74
爱若手握流沙
这个作者很懒,什么都没留下…
展开
-
线程同步
一、为什么要线程同步?计算机上运行各种计算机软件应用程序。每一个运行的应用程序可能包括一个或多个进程(程序),操作系统为每个进程分配了彼此独立的内存,一定时间片段的CPU,每个进程有一个或多个线程(Thread)。每个线程(Thread)有自己专用的运行栈。线程有可能和其他线程共享一些资源,比如,内存,文件,数据库等。当多个线程同时读写同一份共享资源的时候,可能会引起冲突。这时候,我...原创 2019-03-07 18:05:57 · 214 阅读 · 0 评论 -
编码方式和乱码
摘要总结:ASCII编码是128个字符中国把汉字编入GB2312,Shift_JIS/Euc-kr各国标准.....Unicode是为了解决各国乱码的,但浪费存储空间UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6字节,英文字母是1字节,汉字通常是3字节,生僻字符是4-6字节简单归纳:编码大小原创 2017-09-19 21:07:53 · 776 阅读 · 0 评论 -
==与equals()
==比较的是两个是不是一个东西,即是不是一个对象,equals()比较两个东西内容相不相同,如果是一个东西,那么其内容也一定相同,如果不是一个东西(对象),那么用equals()判断这两个对象内容是否相同,即先判断是不是一个对象(东西),再判断内容想不相同即==为true,则equals()一定为true(不用再比较,因为==为true证明为一个东西(对象));==为false,则证明是两个东西(原创 2017-09-16 12:38:24 · 269 阅读 · 0 评论 -
NULL和" "的区别
两者的区别与 “数字0和没有不是同一种概念”是一个道理。null是空对象,""是空字符串null可以赋值给任何对象,而""就不行了,只能赋值给字符串对象如:String s=null;//定义了一个对象实例s,但未将该实例指向任何内存空间String s="";//定义了一个对象实例s,指向了一个空串原创 2017-09-16 11:59:23 · 1442 阅读 · 0 评论 -
java中数据在内存中是如何存储的
JAVA数据类型:基本数据类型java的基本数据类型共有8种,即int,short,long,byte,float,double,boolean,char(注意,并没有String的基本类型 )。这种类型的定义是通过诸如int a = 3;long b = 255L;的形式来定义的。如int a = 3;这里的a是一个指向int类型的引用,指向3这个字面值。这些字面值的数据原创 2017-08-15 13:06:21 · 1249 阅读 · 0 评论 -
数据类型
一、从概念方面来说 基本数据类型:变量名指向具体的数值引用数据类型:变量名指向存数据对象的内存地址,即变量名指向hash值,存储在堆内存和栈内存二、从内存构建方面来说 基本数据类型:变量在声明之后java就会立刻分配给他内存空间 引用数据类型:它以特殊的方式(类似C指针)指向对象实体(具体的值),这类变量声明时不会分配内存,只是存储原创 2017-08-15 11:27:32 · 277 阅读 · 0 评论 -
java处理获取及处理----系统时间
一. 获取当前系统时间和日期并格式化输出:import Java.util.Date;import java.text.SimpleDateFormat;public class NowString {public static void main(String[] args) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM原创 2017-08-07 11:31:12 · 537 阅读 · 0 评论 -
OSGi框架与类加载器
相信每个Java程序员都知道Classpath是什么。Java的类加载器(Classloader)是一种分层结构,如下图所示,分为引导类加载器(Bootstrap Class Loader),扩展类加载器(Extension Class Loader),系统类加载器(System Class Loader)以及用户定义的类加载器(User-defined Class Loader)。引导类加载原创 2017-07-26 17:35:17 · 1022 阅读 · 0 评论 -
子类和父类中的super、this的区别
在JAVA类中使用super来引用父类的成分,用this来引用当前对象,如果一个类从另外一个类继承,new这个子类的实例对象后。使用super来引用父类对象,使用this引用当前对象。 public class F{//定义父类 public void s(){//定义父类方法s }}public class K extends原创 2017-06-04 11:05:02 · 872 阅读 · 0 评论 -
eclipse快捷键冲突
提示所有快捷键的快捷键是ctrl+shift+L也可以打开冲突解决办法:在使用eclipse的快速复制第一行的快捷键(ctrl+alt+↓)的时候,我的屏幕瞬间倒过来了.很懵逼啊.查了一下资料,是因为英特尔核心显卡的驱动已经注册了这个快捷键,导致热键冲突。 好吧,怎么办呢?其实我们有两个选择:第一:就是把英特尔显卡注册的快捷键关了. 在桌面上原创 2017-11-01 21:45:30 · 883 阅读 · 0 评论 -
葵花宝典
IOC中最基本的技术就是“反射(Reflection)”编程,,通俗来讲就是根据给出的类名(字符串方式)来动态地生成对象,这种编程方式可以让对象在生成时才决定到底是哪一种对象。只是在Spring中要生产的对象都在配置文件中给出定义,目的就是提高灵活性和可维护性。由于IOC容器生成对象是通过反射方式,在运行效率上有一定的损耗。具体到IOC框架产品(比如:Spring)来讲,需要进行大量的原创 2017-12-10 13:06:38 · 411 阅读 · 0 评论 -
线程和进程、程序、应用程序之间的关系
误区:看到一种说法是“一个程序至少有一个进程,一个进程至少有一个线程”。这种把程序与进程,进程与线程的关系混淆的说法是错误的。纠正概念:一个程序(program)就是一个正在执行的进程,而每个进程,可以是单线程的,也可以是多线程的。一个应用程序(application)通常由多个程序组成。程序(program)和应用程序(application)的区别:程序 ≠ 应用程序,...转载 2018-11-23 19:33:16 · 1319 阅读 · 0 评论 -
java线程同步和线程安全
多个线程访问共享资源(临界资源)的时候,会出现线程安全问题,安全问题大多数是可见性和原子性问题。但这样说可能并不严谨,线程的安全性可能更在于他对错误性的定义,当多个线程访问一个类时,如果可以需要考虑运行时环境的调度和交换,并且需要额外的同步保证结果正确,我们认为这个线程是有线程安全性问题的。下面我们讨论一下可见性和原子性带来的线程安全问题。可见性的问题例如执行多个线程执行a++,那么多个线...原创 2019-03-07 14:48:06 · 448 阅读 · 0 评论 -
Java数据类型
目录一、Java的数据类型与内存的关系二、Java的数据类型在内存中的存储:三、基本数据类型:四、引用数据类型:五、区别:六、相关知识:七、例如:一、Java的数据类型与内存的关系数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式。在Java中,每个存放数据的变量都是有类型的,如:charch;float...原创 2019-03-07 10:50:35 · 176 阅读 · 0 评论 -
Java中常见的数据结构的区别
把多个数据按照一定的存储方式存储起来,称存储方式之为数据结构。数据的存储方式有很多,数组、队列、链表、栈、哈希表等等,不同的数据结构,性能是不一样的,比如有的插入比较快,查询比较快,但是删除比较慢;有的删除比较快,插入比较快,但是查询比较慢。根据实际操作,合理选择即可。ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引...原创 2019-03-08 17:50:55 · 629 阅读 · 0 评论 -
java同步异步
同步:发送一个请求,等待返回,然后再发送下一个请求异步:发送一个请求,不等待返回,随时可以再发送下一个请求同步可以避免出现死锁,读脏数据的发生,一般共享某一资源的时候用,如果每个人都有修改权限,同时修改一个文件,有可能使一个人读取另一个人已经删除的内容,就会出错,同步就会按顺序来修改。异步则是可以提高效率了,现在cpu都是双核,四核,异步处理的话可以同时做多项工作,当然必须保证是可以并发...原创 2019-03-06 10:31:01 · 225 阅读 · 0 评论 -
指针和引用的联系和区别
指针和引用的联系与区别★ 相同点:1. 都是地址的概念;指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。★ 区别:1. 指针是一个实体,而引用仅是个别名;2. 引用使用时无需解引用(*),指针需要解引用;3. 引用只能在定义时被初始化一次,之后不可变;指针可变;4. 引用没有 const,指针有 const;5. 引用不能为空,指针可以为空;6. “sizeo...原创 2019-02-26 15:10:19 · 340 阅读 · 0 评论 -
Java集合类及其数据结构
java集合框架位于java.util包中,Java集合框架为程序员提供了预先包装的数据结构和算法来操纵他们。Set和List的区别 1. Set 接口实例存储的是无序的,不重复的数据。List 接口实例存储的是有序的,可以重复的元素。 2. Set检索效率低下,删除和插入效率高,插入和删除不会引起元素位置改变<实现类有HashSet,TreeSet>。 ...原创 2019-03-05 14:42:52 · 339 阅读 · 0 评论 -
java面试题(一)
1 OOP(面向对象编程):继承,封装,多态,抽象。2 什么是java虚拟机: 可以执行java字节码的虚拟机进程,而不需要为每一个平台单独重写或重新编译。虚拟机知道底层指令长度。3 JDK,JRE区别: JRE是Java虚拟机,可以解释JAVA字节码,形成及其语言。 JDK是完整的开发包,包含JRE,可以开发,编译,执行Java。 JRE用于运行;JDK用于开发。4...转载 2019-02-13 14:44:16 · 153 阅读 · 0 评论 -
java中String的常用方法
java中String的常用方法java中String的常用方法1、length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int len=s.length();2、charAt() 截取一个字符 例:char ch; ch="abc".ch原创 2017-05-15 22:20:20 · 340 阅读 · 0 评论 -
xml在java开源框架中的作用是什么
首先使用xml配置文件的好处是参数配置项与代码分离,便于管理以及日后的维护和修改。其次,xml是标准化的树节点文档,通用性强。第三,在一个采用SSH2框架的java web项目中,容器在初次启动的时候,会先读取web.xml,如果web.xml里面配置了spring和struts2的监听器,则会通过监听器的配置路径找到spring和struts的配置文件。srping的配置文件是applicati转载 2017-05-15 11:40:09 · 935 阅读 · 0 评论 -
Class.forName(xxx.xx.xx) 分析
Class.forName(xxx.xx.xx) 返回的是一个类一.首先你要明白在java里面任何class都要装载在虚拟机上才能运行。1. forName这句话就是装载类用的(new是根据加载到内存中的类创建一个实例,要分清楚)。 至于什么时候用,可以考虑一下这个问题,给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它? A a = (A)Clas转载 2017-05-15 11:11:02 · 1104 阅读 · 0 评论 -
Java 如何将String转化为Int
在 Java 中要将 String 类型转化为 int 类型时,需要使用 Integer 类中的 parseInt() 方法或者 valueOf() 方法进行转换方法1: String str = "123"; try { int a = Integer.parseInt(str);原创 2016-11-24 15:39:26 · 728 阅读 · 0 评论 -
循环往list中add对象却总是add的是一个对象
在new 一个对象的时候,对象的ID是唯一确定的;将对象add入list中时,放入list中的其实是对象的引用 ;而每次循环只是简单 的set 对象的属性,set新的属性值,而add进list中的对象还是同一个对象id,也就是同一个对象; 所以每次add之后,list发现对象引用和之前元素一样,就覆盖掉了之前add的对象。所以循环之后list中的对象是重复的对象。 想要避免这个问题只要每次add原创 2016-12-02 18:35:58 · 10916 阅读 · 2 评论 -
JVM、JRE、JDK的联系
JVM(Java Virtual Machine Java虚拟机) 可以理解为是一个虚拟出来的计算机,具备着计算机的基本运算方式, 它主要负责将java程序生成的字节码文件解释成具体系统平台上的机器指令。 让具体平台如window运行这些Java程序。JRE(Java Runtime Environment Java运行环境) 包括Java虚拟机原创 2016-11-19 18:09:38 · 290 阅读 · 0 评论 -
Java异常处理机制【转载】
本文从Java异常最基本的概念、语法开始讲述了Java异常处理的基本知识,分析了Java异常体系结构,对比Spring的异常处理框 架,阐述了异常处理的基本原则。并且作者提出了自己处理一个大型应用系统异常的思想,并通过设计一个异常处理的框架来论述此思想。 一、 异常的概念和Java异常体系结构 异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Jav转载 2015-11-09 16:24:54 · 250 阅读 · 0 评论 -
java中euals和==的区别
一,java中euals和==的区别java中的数据类型,可分为两类:1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。2.引用数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较原创 2015-10-26 13:58:55 · 561 阅读 · 0 评论 -
将字符串转码
一,知道字符串编码的情况下 String s1 = "hello中国人"; String iso = new String(s1.getBytes("utf-8"), "iso-8859-1"); System.out.println(i原创 2015-10-23 11:15:43 · 2274 阅读 · 0 评论 -
字符串
1,什么是字符串类 (1)Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时候,我们对它既熟悉又陌生。 (2)首先你要知道什么是字符串: 字符串(String)是由数字、字母、下划线组成的一串字符,是编程语言中表示文本的数据类型。原创 2015-10-26 11:31:49 · 256 阅读 · 0 评论 -
包装类
一、认识包装类1. 什么是包装类我们知道,Java语言是面向对象的,但Java中的基本数据类型却不是面向对象的。这在实际使用过程中造成了诸多不便。为了解决此问题,Java语言的设计者们在设计类时,为每种基本数据类型也设计了一个对应的类。这八个和基本数据类型对应的类统称为包装类(Wrapper Class),也称为外覆类或数据类型类。包装类均位于java.lang包中,下表给出了包装类和基本数据类型原创 2015-10-26 14:00:28 · 220 阅读 · 0 评论 -
java集合类
List,Set,Map集合List:存储单列数据的集合;其中的数据是有顺序的,并不允许重复;Map:存储键,值这样的双列数据的集合;其中的数据是没有顺序的,其键是不能重复的,它的值是可以重复的;原创 2016-10-24 19:28:43 · 338 阅读 · 0 评论 -
java中常用的字符串的截取方法
1、length() 字符串的长度 char chars[]={'a','b','c'}; //将字符数组类型转换成字符串s String s=new String(chars); int len=s.length();2,使用 charAt() 从某个字符串取得具体的字符。 charAt原创 2015-10-16 17:19:44 · 674 阅读 · 0 评论 -
java导入excel到数据库
导读: 要想把excel中的数据通过java一次性导入到数据库,就要用java读取并解析excel,要读取并解析excel就要在导入执行时传进excel的存储路径,如下excelPath function import(){ document.MaterialPriceInfoForm.formAction.value="ImportExcel";原创 2016-11-25 11:54:12 · 3441 阅读 · 0 评论 -
退出当前循环和退出循环
场景:当通过Excel一次性导入多条数据(向数据库一次性插入多条数据),就要读取、解析Excel,并循环插入每条数据,当每插入一条数据前都要判断此条数据是否已经存在, 如果存在用continue退出当前循环,进入下一次循环。例如:break:跳出循环for(int i = 0;i < 10;i++){ if(i == 2){ break;原创 2016-11-25 17:02:16 · 10754 阅读 · 0 评论 -
验证过的POI导入Excel的测试类
读取Excel并解析插入数据库: Excel如下: java代码:package com.pcm.web.sfm.materialprice.action;import java.io.FileInputStream;import java.sql.Timestamp;import org.apache.poi.hssf.usermodel.HSSFCell;原创 2016-11-25 18:17:56 · 640 阅读 · 0 评论 -
Class.forName(xxx.xx.xx) 的作用
Class.forName(xxx.xx.xx) 返回的是一个类首先你要明白在java里面任何class都要装载在虚拟机上才能运行。这句话就是装载类用的(和new 不一样,要分清楚)。至于什么时候用,你可以考虑一下这个问题,给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它?只有你提到的这个方法了,不过要再加一点。 A a = (A)Class.forName("pa原创 2017-05-15 10:55:14 · 9570 阅读 · 0 评论 -
Java中的24种设计模式与7大原则
一、创建型模式1、抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类.2、生成器模式(Builder pattern): 使用生成器模式封装一个产品的构造过程, 并允许按步骤构造. 将一个复杂对象的构建与它的表示分离, 使得同样的构建过程可以创建不同的 表示.3、工厂模式(factory原创 2017-05-15 10:02:27 · 264 阅读 · 0 评论 -
JVM调优
1.数据类型 java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:它代表的值就是数值本身,而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。 基本类型包括:byte、short、int、long、char、float、double、boolean 引原创 2017-05-14 22:57:43 · 278 阅读 · 0 评论 -
Eclipse/MyEclipse怎么设置个性化代码注释模板
打开Eclipse/MyEclipse工具,打开或创建一个Java工程,点击菜单Window->Preferences弹出首选项设置窗口,展开左侧Java->Code Style->Code Template选项列表,就可以看到所有需设置注释的元素了 展开右侧模板选项Comments,可以看到可以设置的注释模板类型,原创 2017-03-28 17:28:26 · 1763 阅读 · 0 评论 -
java文件名与类名
java文件名与类名 : 1,当编写一个java源代码文件时,此文件通常被称为编译单元,每个编译单元都必须要有一个后缀为.java; 2,每个编译单元(文件)都最多只能有一个public类(也可以没有),这表示每个编译单元都最多有一个公共接口,用public类来表现; 3, 一个 .java 文件,可以有多个类,但是文件名只能有原创 2017-02-04 15:42:32 · 1355 阅读 · 0 评论