JAVASE
Java语言基础知识与经验
松门一枝花
建筑行业数字化产品总监
展开
-
解决the resource is not on the build path of a java project
场景普通的Java project 转maven 项目后,导入类提示:the resource is not on the build path of a java project解决方法将检查java build source,将报错的删除,重新添加src资源包原创 2022-03-06 21:01:13 · 1199 阅读 · 0 评论 -
win10解决java多版本java -version问题
电脑环境先安装了Jdk8,后安装了jdk11.(发现Jdk11没有单独的jre,官网也不提供下载,集成在一起了)Java -version将环境变量切换为 JDK11 后javac -version 是 java编译环境是jdk11了,但java -version 运行环境还是 jdk 1.8,程序需要jdk11的环境运行不起来解决方法搜索 javaw.exe 将整个文件夹删除,问题解决...原创 2020-06-01 15:13:25 · 1240 阅读 · 0 评论 -
Java获取 Exception异常详细信息
public static String getExceptionAllInfo(Exception ex) { ByteArrayOutputStream out = null; PrintStream pout = null; String ret = ""; try { out = new ByteArrayOutputStream(); pout = new PrintStream(out);...原创 2020-05-28 23:52:10 · 3964 阅读 · 0 评论 -
springboot controller 访问 404
两种解决方式:1、因为SpringBoot的项目启动类,会只扫描该包下的文件或者改包下所有子包内的文件,只要你把该文件移动到启动类的相同目录报下就可以。2、就是在该类上面加者在启动类上添加注解@ComponentScan(basePackages= {"com.bootapplication.Beans","com.bootapplication.controller","com.bootapplication.service","com.zbootapplicationz.mapper"})凡涉原创 2020-05-28 20:17:38 · 4964 阅读 · 0 评论 -
java.util.concurrent.RejectedExecutionException
报错日志java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@12e2cb93 rejected from java.util.concurrent.ThreadPoolExecutor@6ecd396b[Running, pool size = 10, active threads = 10, queued tasks = 200, completed tasks = 0]原.原创 2020-05-28 20:07:46 · 4809 阅读 · 1 评论 -
Java实现MD5编码32位
加入依赖包<dependency> <groupId>org.apache.directory.studio</groupId> <artifactId>org.apache.commons.codec</artifactId> <version>1.8</version> </dependency>实现代码.原创 2020-05-13 15:45:40 · 1242 阅读 · 0 评论 -
= 改为 in
for (String tableName : tableNames) { //检查是否全为空 for (long p_hour = start; p_hour <= end; p_hour++) { String sql="select * from HIVE_READ_INSERT_HISTORY where "+imsiORmsisdnSql(imsi, msisdn,原创 2017-12-02 14:04:09 · 377 阅读 · 0 评论 -
自定义ArrayList
package d101ArrayList;import java.util.Arrays;public class ZengArrayList { private int size; private Object[] elementData; public ZengArrayList() { this(10); } public ZengArrayList(原创 2017-11-22 14:41:01 · 344 阅读 · 0 评论 -
JAVA中的native
native主要用于方法上,简单介绍如下:1、一个native方法就是一个Java调用非Java代码的接口。一个native方法是指该方法的实现由非Java语言实现,比如用C或C++实现。2、在定义一个native方法时,并不提供实现体(比较像定义一个Java Interface),因为其实现体是由非Java语言在外面实现的。public static native v原创 2017-09-13 11:34:08 · 344 阅读 · 0 评论 -
内存堆和栈的区别
原文链接:http://www.cnblogs.com/lln7777/archive/2012/03/14/2396164.html--------------------------------------------------------------------------------在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初转载 2017-09-01 15:46:04 · 236 阅读 · 0 评论 -
Java中boolean类型占用多少个字节
原文地址:http://www.cnblogs.com/wangtianze/p/6690665.html?utm_source=itdadao&utm_medium=referral-----------------------为什么要问这个问题,首先在Java中定义的八种基本数据类型中,除了其它七种类型都有明确的内存占用字节数外,就boolean类型没有给出具体的占用字节数,因转载 2017-08-29 11:04:29 · 718 阅读 · 0 评论 -
21.>>和<<和instance of
>>右移一位。相当于除2左移一位。相当于乘2public static void main(String[] args) { int a=3<<2; int b=12>>2; System.out.println("a="+a); System.out.println("b="+b); }解析:a=3*2*2=12b=12/2/2=3原创 2017-01-22 17:33:16 · 360 阅读 · 0 评论 -
20.命名规范
所有变量,方法,类名:原创 2017-01-07 19:05:35 · 393 阅读 · 0 评论 -
19.常量-final
final 常量final修饰,只能被初始化一次。public static void main(String[] args){ final int a=3; a=4;//报错 /* TestVariable.java:7: 错误: 无法为最终变量a分配值 a=4; ^1 个错误 *原创 2017-01-06 11:11:33 · 476 阅读 · 0 评论 -
18.变量
Java是一种强类型语言,每个变量都必须声明其类型。Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。变量在使用前必须对其声明,只有在变量声明以后,才能为其分配相应长度的存储单元。注意事项:1、每个变量都有类型,类型可以是基本类型,也可以是引用类型。2、变量名必须是合法的标识符。点击查看标识符局部变量方法或原创 2017-01-06 11:08:11 · 366 阅读 · 0 评论 -
17.类型转换
自动类型转换容量小的数据类型可以自动转换为容量大的数据类型 byte b = 123; //byte b2 = 300;//报错,超过了byte最大值127 //char c = -3;//报错,char范围是0~65536,不在范围 char c2 = 'a';//a在ascii码里是98 int i = c2; long d01 = 123213; float原创 2017-01-05 16:10:32 · 523 阅读 · 0 评论 -
16.char类型
char,占2个字节。单引号用来表示字符常量。例如'a'.char类型用来表示在Unicode编码表中的字符。unicode编码被设计用来处理各种语言的所有文字,它占了2个字节,可允许有65536个字符。Java语言中还允许使用转义字符‘\',来将其后的字符转变为其他的含义。char是在0~65535范围,运算时可以直接当做整数来运算。可以把原创 2017-01-05 14:54:48 · 531 阅读 · 0 评论 -
15.浮点类型
数值范围float类型又被称为单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。double类型又被称为双精度类型,尾数可以精确到14位有效数字。浮点类型默认是double。 public static void main(String[] args){ float a=3.14;//报错,默认是doub原创 2017-01-05 14:27:23 · 911 阅读 · 0 评论 -
13.JAVA基础:八进制,十六进制表示
原文路径:http://simon-c.iteye.com/blog/802149点击查看原文-----------------------------------------------------------可以使用八进制、十六进制的类型:long, int, short, byte 八进制表示:以0作为前缀,数码有0,1,2,3,4,5,6,7,逢8进位转载 2017-01-05 10:32:33 · 730 阅读 · 0 评论 -
14.JAVA整型变量
表示形式Java语言整型常数的3种表示形式:1、十进制整数:99,-100,02、八进制整数:要以0开头,如0153、十六进制整数:以0x开头,如0x15点击查看十进制八进制十六进制概念 public static void main(String[] args){ int a1=10; int a2=010; int a3=0x10;原创 2017-01-05 11:00:39 · 3803 阅读 · 0 评论 -
12.JAVA基本数据类型
Java是一种强类型语言,每个变量都必须声明类型。数据类型1、基本数据类型1.1 数值型1.1.1 整数类型byte,short,int,long1.1.2 浮点数类型float,double1.2 字符型char1.3 布尔型boolean2、引用数据类型2.1类class原创 2017-01-05 10:19:09 · 439 阅读 · 0 评论 -
10.java 关键字与保留字
Java 关键字列表 (依字母排序 共51组)所有的关键字都是小写。在IDE中都会显示不同的颜色: abstract, assert,boolean, break, byte, case, catch, char, class, const, continue, default, do, double, else, enum,extends,final, final原创 2017-01-04 17:11:59 · 772 阅读 · 0 评论 -
9.关于Unicode字符集
原文链接:http://blog.csdn.net/yang3wei/article/details/47414483点击阅读原文-------------------------------------1)Java 中 char 占两个字节,既可以表示中文字符,也可以表示英文字符2)Unicode只是一个编码规范,目前实际实现的unicode编码只要有三种:UTF-8转载 2017-01-04 17:05:03 · 1032 阅读 · 0 评论 -
11.标识符_unicode和GBK_各种字符集的关系
标识符作用:给变量,类和方法命名。Java标识符命名规则:--必须以字母,下划线_,美元符$开头。--其他部分可以是字母,下划线,美元符和数字的任意组合。--Java标识符大小写敏感,且长度限制--不可以是Java的关键字。点击查看关键字public class Welcome{ public static void main(String[] args)原创 2017-01-04 17:12:50 · 1099 阅读 · 0 评论 -
8.对Hello World程序的深入
Welcome.javapublic class Welcome{ public static void main(String[] args){ System.out.println("Hello World,I am Java!"); } }1、Java对大小写敏感。如果出现了大小写拼写错误,程序无法运行。关键字class表明Java程序中的全部内容都包含原创 2017-01-04 16:32:35 · 359 阅读 · 0 评论 -
7.Java常用开发工具
文本编辑器任意选一款UltraEditEditPlusnotepad++集成开发环境IDE:Integrated Development Environment--JBulider (基本淘汰)--Eclipse 普遍使用。https://www.eclipse.org/downloads/--NetBeans原创 2017-01-04 15:27:54 · 322 阅读 · 0 评论 -
6.第一个程序Hello World
新建文件夹在C盘新建个文件夹 mycode。注意不要用中文。新建java文件1、显示隐藏文件名。2、右键新建文本文件3、重命名为 Welcome.java。(首字母必须大写。如果不显示隐藏文件名,会是Welcome.java.txt不是java文件)4、编写代码public class Welcome{ public static void main(原创 2017-01-04 15:21:18 · 450 阅读 · 0 评论 -
5.JDK环境配置
下载进入Oracle官网下载,点击进入安装一路下一步。记住安装到哪里了。配置环境变量JAVA_HOME 刚才的java安装目录PATH %JAVA_HOME%\binPATH里配置多个用英文的分号; 分隔。*classpath,jdk5.0以上可以不用配置了原创 2017-01-04 14:50:32 · 392 阅读 · 0 评论 -
4.JVM简述
JVM是一种规范。就是一个虚拟的用于执行bytecodes字节码的计算机可以用软件来实现,如IBM,SUN,BEA等按照这个规范实现,可以实现比SUN公司更好的JVM,我们自己也可以实现一个。可以使用硬件来实现,如sun与intel公司研发java的芯片SUN公司针对不同的操作系统实现了不同的JVM,所以JDK下载的时候有不同操作系统版本,需要选择对应的操作系统版本JDK。原创 2017-01-04 14:39:32 · 586 阅读 · 0 评论 -
3.JDK和JRE和JVM的区别
JDK--Java Development Kit --java 开发工具包JRE--Java Runtime Environment --java运行时环境JVM --Java Virtual Machine--java虚拟机原创 2017-01-04 14:29:24 · 364 阅读 · 0 评论 -
2.JAVA简史
SUN公司--美国SUN(Stanford university network)公司--在中国大陆的正式中文名:太阳计算机系统(中国)有限公司--在中国台湾中文名:升阳电脑公司JAVA为什么被发明?--是sun公司Green项目应用环境:sun公司预估美国等发达国家会出现像电视盒这样的消费类电子产品,如手机,电子手表,智能微波炉等等设备要求:语言本身是原创 2017-01-04 11:41:26 · 550 阅读 · 0 评论 -
1.计算机语言发展史
第一代计算机语言第二代汇编语言第三代高级语言面向过程:c,fortan,cobol,pascal,ada面向对象:c++,java,c#计算机语言:01010100010111000010101010000001100101011就是0,1。那时计算机稀有,第一台计算机在费城诞生,它运行的时候,费城其他用户可能要断电,功耗太大原创 2017-01-04 11:22:30 · 3984 阅读 · 0 评论 -
HashMap死锁原因及替代方案
原文链接:http://blog.csdn.net/fhzaitian/article/details/51505516------------------------------------------------------------------------1、首先我们需要简单地了解一下HashMap数据结构 HashMap通常会用一个指针数组(假设为table[])来做分散所有的key,当...转载 2018-03-02 16:01:20 · 2382 阅读 · 0 评论 -
单例问题与线程安全
饿汉式没有线程安全性问题懒汉式public class SingletonDemo2 { private static SingletonDemo2 instance; private SingletonDemo2() {} public static SingletonDemo2 getInstance() { if(instance==null) {原创 2018-02-07 16:42:12 · 547 阅读 · 0 评论 -
线程带来的风险
线程安全性问题多线程环境下 +多个线程共享一个资源+对资源进行非原子性操作。以上三者都存在就会发生线程安全性问题如文中的卖火车票问题:http://blog.csdn.net/zengmingen/article/details/53217229原因是:一行java代码转成.class字节码文件后是多行的,程序在执行的时候,行字节码文件里一行行执行。当多个线程,A线程执行到10原创 2018-02-07 11:55:28 · 350 阅读 · 0 评论 -
CPU的核心数、线程数的关系和区别
原文地址:http://blog.csdn.net/yu132563/article/details/45222935-------------------------------------我们在选购电脑的时候,CPU是一个需要考虑到核心因素,因为它决定了电脑的性能等级。CPU从早期的单核,发展到现在的双核,多核。CPU除了核心数之外,还有线程数之说,下面笔者就来解释一下CPU的核心数与转载 2018-01-31 15:16:35 · 16675 阅读 · 0 评论 -
CGLib动态代理原理及实现
原文连接:http://songbo-mail-126-com.iteye.com/blog/968792------------------------------------------------------------------------JDK实现动态代理需要实现类通过接口定义业务方法,对于没有接口的类,如何实现动态代理呢,这就需要CGLib了。CGLib采用了非常底层的字节码转载 2017-12-19 11:16:23 · 722 阅读 · 0 评论 -
深入了解HashMap
什么是hash?哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。一般用于快速查找和加密算法。1、任意长度的二进制值2、映射原创 2017-11-09 15:18:00 · 380 阅读 · 0 评论 -
Java Thread.join()详解
原文地址:http://www.open-open.com/lib/view/open1371741636171.html点击阅读原文-------------------------------------------------------------一、使用方式。join是Thread类的一个方法,启动线程后直接调用,例如:Thread t = new A转载 2016-12-21 10:41:54 · 405 阅读 · 0 评论 -
线程池与Callable更配哦
概述Callable介绍见:http://blog.csdn.net/zengmingen/article/details/53288119多线程介绍见:http://blog.csdn.net/zengmingen/article/details/53284999代码TaskCallable.javapackage multithreading.pool;im原创 2016-11-22 17:49:10 · 932 阅读 · 0 评论