Java基础知识相关
吃货小跟班
即将走出象牙塔的菜鸟
展开
-
【Java路径】问题
1、classPathClass.getResource(String path) path不以’/'开头时,默认是从此类所在的包下取资源; path 以’/'开头时,则是从ClassPath根下获取(bin下);Class.getClassLoader().getResource(String path) path不能以’/'开头时; path是从ClassPath原创 2017-01-05 16:23:47 · 261 阅读 · 0 评论 -
【Java JVM】Java虚拟机内存分配几个原则
1、大多数情况下,对象在新生代Eden区中分配。当Eden区没有足够空间进行分配时,虚拟机将发起一次Minor GC2、大对象直接进入老年代。大对象指需要大量连续内存空间的Java对象,最典型的大对象就是那种很长的字符串以及数组。3、长期存活的对象将进入老年代。 虚拟机采用分代收集的思想来管理内存,那么内存回收时就必须能识别哪些对象应放在新生代,哪些对象应放在老年代中。为了做到这一点,虚拟机给原创 2016-12-30 11:18:08 · 2382 阅读 · 0 评论 -
【Java JVM】java内存模型
根据个人理解手画java内存模型原创 2016-12-30 11:26:10 · 385 阅读 · 0 评论 -
【转】【编码】准确设置-Dfile.encoding参数_IT知识问答_希赛网
正确设置-Dfile.encoding参数问题: 项目在本机开发编译打包后发布到法国的服务器,代码中的中文全部乱码,就算是最简单的代码System.out.println(“中文”),打印出来的也是乱码。代码在本地的服务器测试都正常。法国服务器的环境:window 2003 中文版。解决:在网友imasmallbird的指引下,发现是2个服务器的file.encoding的不同,本地服务器是G转载 2017-01-03 14:18:06 · 1616 阅读 · 0 评论 -
【Java 多线程】Java中主线程如何捕获子线程抛出的异常
首先明确线程代码的边界。其实很简单,Runnable接口的run方法所界定的边界就可以看作是线程代码的边界。Runnable接口中run方法原型如下: public void run(); 而所有的具体线程都实现这个方法,所以这里就明确了一点,线程代码不能抛出任何checked异常。所有的线程中的checked异常都只能被线程本身消化掉。:) 这样本转载 2017-01-03 15:41:07 · 22241 阅读 · 2 评论 -
【webservice】Java调用WebService
认真总结一下怎么用Java调用.net写的webservice。 【使用远程调用的方式,不生成客户端代码】一、学会看wsdl,有以下几个需要注意的地方:1、namespace: 2、函数的参数,包括两种类型,输入参数,输出参数。 他对应的服务端的定义是这样的: 3、函数的返回二,写代码利用服务地址,远程调用,不生成客户端代码。这个时候需要:设置参数(包括输入类型,输出类型),设置函数返回原创 2017-01-05 16:51:07 · 702 阅读 · 0 评论 -
【Java JVM】关于【类Class】
每个类被加载之后,系统就会为该类生成一个对应的Class对象, 一、***************************获得Class对象**************************** 一般情况下采用第二种方式,因为:(1)、代码更安全,程序在编译阶段就可以检查需要访问的Class对象是否存在。(2)、程序性能更高,因为这种方式无需调用方法,所以性能更好 二、*********原创 2017-01-05 19:17:21 · 517 阅读 · 0 评论 -
【Java网络编程】HttpClient、URLConnection的再次总结
HttpClient、URLConnection的再次总结原创 2017-01-05 20:33:33 · 420 阅读 · 0 评论 -
【编码】字符集与编码意义与关系、java编程编码问题相关学习笔记
本文对字符集与编码的定义、java编程中遇到的编码问题排查方案等进行相关的小总结;一、字符集与编码方式(1)字符集(Charset):是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各个国家文字、标点符号、图形符号、数字等; (2)字符编码:将符号转换为计算机可以接受的数字系统的数,成为数字代码; (3)乱码:在解码的过程中使用了错误的解码规则,即编码与解码的方式不一致,导致原创 2017-01-06 16:03:18 · 778 阅读 · 0 评论 -
【Java 路径】运行可执行jar包获取相关路径
一、获取可执行jar包所在目录(1)方法一:使用System.getProperty("java.class.path")获取classpath的路径,若没有其他依赖,在cmd下运行该可执行jar包,则该值即为该jar包的绝对路径。代码如下:/** * 方法一:获取当前可执行jar包所在目录 */String filePath = System.getProperty("java.class.原创 2017-01-07 11:55:40 · 19171 阅读 · 3 评论 -
【Java String】Java 中的String类相关知识再认识
1、创建字符串的方式(1)直接赋值String str = “abc”; 此时,若字符串常量池中从没有出现过“abc”,则在字符串常量池中存入一个字符串“abc”,将该字符串的引用赋值给str变量;(2)new一个String类型对象String str =new String(“abc”); 此时,在Java中,凡是使用new的方式创建对象,则一定会在堆中创建一个对象,存储一个字符串“abc”原创 2017-03-09 14:55:43 · 419 阅读 · 0 评论 -
【String构建方式】 构建的两种不同的方式
几个比较重要的原理: 1、当使用任何方式来创建一个字符串对象s时,Java运行时会拿着这个X在String池中找是否存在内容相同的字符串对象,如果不存在,则在池中创建一个字符串s,否则,不在池中添加。 2、在Java中,只要使用new关键字来创建对象,则一定会(在堆区或栈区)创建一个新的对象。 3、使用直接指定或者使用纯字符串串联来创建String对象,则仅仅会检查维护String池中的字符串原创 2017-01-05 19:27:35 · 384 阅读 · 0 评论 -
【Java异常】相关学习笔记
Java的异常分为两种,一种是Checked异常,一种是Runtime异常。 当代码出现异常时,系统自动生成一个异常对象,该异常对象被提交给Java运行时环境,Java运行时环境受到该异常对象时,会寻找能处理该异常对象的catch块(捕获),如果找到合适的catch块并把该异常对象交给该catch块处理;如果找不到捕获异常的catch块,则运行时环境终止,Java程序也将退出。 当程序需要自行抛原创 2017-01-05 19:25:07 · 313 阅读 · 0 评论 -
【Java IO模式】Java BIO NIO AIO总结
()[TOC]一、同步与异步、阻塞与非阻塞1、同步与异步同步与异步的区别在于,数据从内核空间拷贝到用户空间是否由用户线程完成。 – 对于同步来说,分阻塞和非阻塞两种。阻塞的情况,一个线程维护一个链接,该线程完成数据的读写与处理的全部过程,并且数据的读写是阻塞的。 对于非阻塞来说,虽然读写的过程不会阻塞当前线程,立即返回,但是用户线程(Selector选择器)仍然要不断主动去判断数据是否“就绪”(感原创 2017-03-25 13:54:04 · 3692 阅读 · 0 评论