javaSE
信念随梦
本博客的主要作为自己的学习笔记,并不是以教授知识为目的。如果有人能从我的博客中学到东西,我很高兴。有人发现文章中有不对的地方,也欢迎大家纠正。
展开
-
线程的工作内存与主内存同步时机
java工作内存和主内存模型在多线程中,多个线程访问主存中的临界资源(共享变量)时,需要首先从主存中拷贝一份共享变量的值到自己的工作内存中,然后在线程中每次访问该变量时都是访问的线程工作内存(高速缓存)中的共享的变量副本,而不是每次都去主存中读取共享变量的值(因为CPU的读写速率和主存读写速率相差很大,如果CPU每次都访问主存的话那么效率会非常低)。java线程变量加载的大致流程是,将主内存的变量加载到工作内存进行处理,处理完毕后写会主内存工作内存和主内存数据交换时机先看一下如下代码,主线程运行是原创 2020-07-26 17:38:45 · 3567 阅读 · 2 评论 -
Java 基础:认识&理解关键字 native 实战篇
泥瓦匠初次遇见 native 是在 java.lang.Object 源码中的一个hashCode方法:1public native int hashCode(); 为什么有个navicat呢?这是我所要学习的地方。所以今天泥瓦匠想要总结下navicat。一、认识 native 即 JNI,J转载 2017-04-05 16:17:55 · 312 阅读 · 0 评论 -
javac 错误: 找不到符号
以前刚开始学习java的时候,用过记事本写程序,但也只是感受一下,也是写单个类的程序。几年因为联系的需要,谢了两个类,一个类为A,另一个类为Sample。其中Sample类中引用了类A。然后我先javac A.java 成功生成了class文件,当我javac Sample时,就报错了,见下图后来查资料,有人说是这样的(但是我试了一下,并不好用,我截了图放在下面,大原创 2017-04-14 20:33:28 · 32473 阅读 · 4 评论 -
Java clone() 浅克隆与深度克隆
以下文字转自:桔子园 http://www.blogjava.net/orangelizq/archive/2007/10/17/153573.html 现在Clone已经不是一个新鲜词语了,伴随着“多莉”的产生这个词语确实很“火”过一阵子,在Java中也有这么一个概念,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Clone机制是如转载 2017-04-19 09:25:31 · 303 阅读 · 0 评论 -
Java RandomAccessFile用法
原文转载:http://blog.csdn.net/akon_vm/article/details/7429245RandomAccessFileRandomAccessFile是用来访问那些保存数据记录的文件的,你就可以用seek( )方法来访问记录,并进行读写了。这些记录的大小不必相同;但是其大小和位置必须是可知的。但是该类仅限于操作文件。RandomAccessFil转载 2017-05-28 16:47:12 · 400 阅读 · 0 评论 -
Java反射机制学习总结
定义一、能够分析类能力的程序成为反射。(核心卷一定义)定义二、 主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。(网上找的定义义)反射机制可以用来: 在运行中分析类的能力。 在运行中查看对象。 实现通用的数组操作代码 利用Method对象,这个对象很原创 2016-08-11 16:54:06 · 845 阅读 · 0 评论 -
java反射中getDeclaredMethods和getMethods的区别
getMethods() 返回一个包含某些 Method 对象的数组,这些对象反映此 Class 对象所表示的类或接口(包括那些由该类或接口声明的以及从超类和超接口继承的那些的类或接口)的公共 member 方法。 返回数组中的元素没有排序,也没有任何特定的顺序。package staticMethodReflect;import java.lang.ref原创 2017-05-09 20:33:34 · 5019 阅读 · 3 评论 -
HashMap Hashtable区别
我们先看2个类的定义[Java] view plain copypublic class Hashtable extends Dictionary implements Map, Cloneable, java.io.Serializable [java] view pla转载 2017-05-10 11:00:06 · 334 阅读 · 0 评论 -
java多线程基础
本文对多线程做了比较 详细的总结,涉及到常见的一些问题,如同步,资源共享,死锁等原创 2016-06-23 11:07:13 · 1464 阅读 · 0 评论 -
java中对象与字节数组相互转换
1.首先对象要继承Serializable接口将字节转换为对象[java] view plain copy public static Object ByteToObject(byte[] bytes) { Object obj = null; try { // bytearray to object转载 2017-06-04 17:00:38 · 920 阅读 · 0 评论 -
java多线程 ---- 停止线程
在java中有以下3中方法可以终止正在运行的线程:1)使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。2)使用stop方法强行终止线程,但是不推荐使用这个方法,因为stop和suspend及resume一样,都是作废过期的方法,使用它们可能产生预料不到的结果3)使用interrupt方法中断线程原创 2017-06-23 17:02:52 · 602 阅读 · 0 评论 -
深入理解Java之线程池
原作者:海子 出处:http://www.cnblogs.com/dolphin0520/ 本文归作者海子和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并转载 2017-07-16 16:55:14 · 320 阅读 · 0 评论 -
抽象类和接口的区别与应用场景
接口和抽象类有什么区别在应用场景下,选择使用接口和抽象类的依据是什么?一、抽象类和接口在语法上的异同:1、相同点都不能被实例化2、不同点 抽象类中不一定都是抽象方法,但是接口中的方法必须为public修饰的、抽象的 每个类只能继承一个抽象类,但是可以实现多个接口第一点. 接口是抽象类的变体,接口中所原创 2017-07-22 15:32:31 · 12912 阅读 · 1 评论 -
Java接口中的成员变量为什么必须声明为public static final?
我想对于每个Java程序员来说,接口都不陌生,接口中的方法也经常使用。而接口中的成员变量,就显得用得少一点,而对于成员变量为什么必须声明为public static final,可能就更不清楚了,而且我觉得大多数不清楚为什么要用static 和 final。下面我们就来解释一下。一、为什么要用final? 首先,我们应该明白一个问题。接口,实际上比抽象类更加抽象,它是最高层次转载 2017-07-22 15:32:00 · 444 阅读 · 0 评论 -
为什么使用泛型
泛型的好处主要体现在下面几个方面:1.保证数据类型的安全使用泛型用一个通用的数据类型T来作为一个占位符,(实现了代码的复用)等待在实例化时用一个实际的类型来代替。让我们来看看泛型的威力:public class Stack{ private T[] m_item; public T Pop(){...} public原创 2016-11-27 10:43:43 · 285 阅读 · 0 评论 -
Thread中yield方法
先上一段代码public class YieldExcemple { public static void main(String[] args) { Thread threada = new ThreadA(); Thread threadb = new ThreadB(); // 设置优先级:MIN_PRIORITY最低优先级1;NOR...转载 2018-04-18 14:56:35 · 1929 阅读 · 0 评论 -
Java集合类详解
Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMapCollection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。J转载 2017-03-27 10:02:46 · 294 阅读 · 0 评论 -
Java是传值还是传引用
1. 简单类型是按值传递的 Java 方法的参数是简单类型的时候,是按值传递的 (pass by value)。这一点我们可以通过一个简单的例子来说明:/* 例 1 *//** * @(#) Test.java * @author fancy */public class Test { public static void test(boolean test)转载 2017-03-15 20:25:46 · 502 阅读 · 0 评论 -
Java-JDK各个版本的新特性
1.51.自动装箱与拆箱:2.枚举(常用来设计单例模式)3.静态导入4.可变参数5.内省1.61.Web服务元数据2.脚本语言支持3.JTable的排序和过滤4.更简单,更强大的JAX-WS5.轻量级Http Server6.嵌入式数据库 Derby1.71,switch中可以使用字串了2.运用List tempList = ne转载 2017-03-21 09:10:25 · 1417 阅读 · 0 评论 -
实现字符串按字节提取。
实现一个按字节来提取字符串的方法,功能类似于String类的substring方法。String是按字符提取的,例如“中国abc”.substring(1,3)将返回“国a”,这里要求按字节提取,一个英文字符当一个字节,一个中文字符当两个字节。 package com.slowly.java;import java.util.Scanner;public class StringCut ...原创 2016-03-12 17:24:29 · 1306 阅读 · 2 评论 -
用math方法画一个近似圆
题目是这样的:《疯狂Java讲义》第3章第2题:通过API文档查询Math方法,打印出一个由星号组成的圆.本人也是刚开始学习java,学了一段时间,基本 的语法差不多懂了,但是自己写程序感觉还是无从下手,看都这个题目,感觉自己应该可以的,但是想了一两个小时,然后打算先根据半径打印一个十字行,然后在补充边缘部分,最后实在是弄不出来,只好网上查资料,发现了网友的如下方法,就是根据圆的标准方程来的,原创 2016-03-12 17:10:41 · 2949 阅读 · 0 评论 -
java静态方法学习小结
本文为慕课网java静态方法学习笔记小结。1、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。如:如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。如2、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量,如下所示:3、 静态方法中不能直接调用非静态方法,需要通过对象来访问非原创 2016-05-30 21:09:33 · 560 阅读 · 0 评论 -
线程池的原理及实现&Java四种线程池的使用
一、Java类库中提供的线程池简介: java提供的线程池更加强大,相信理解线程池的工作原理,看类库中的线程池就不会感到陌生了。二、线程池简介 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。 假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行转载 2016-06-23 15:33:40 · 419 阅读 · 0 评论 -
java中面向对象的三大基本特征
众所周知,java中的面向对象的三大基本特征是:【封装】、【继承】、【多态】一、封装 对象要有一个明确的边界;边界的划分(对象各司其职、对象的粒度、对象的可重用性) 具体来说: 1.属性: 私有转载 2016-07-30 16:36:56 · 775 阅读 · 0 评论 -
eclipse Ctrl +左键查看源代码Source not found
eclipse Ctrl +左键查看源代码Source not found,如下图可以直接点击source not found下面的Attach Source添加source。一般JDK的源码在安装目录下有个文件叫:src.zip就是,如果是spring的方法,用同样方法,添加spring的源文件的压缩包(应该另外下载)。找到JDK安装包下的src.zip加入路径即可。原创 2016-07-21 09:09:54 · 1833 阅读 · 0 评论 -
Tomcat(8005,8080,8009)端口占用问题常见原因及解决方法
在企业版Eclipse中,在已经启动了Tomcat服务器后,准备运行页面或Servlet时,有时会出现这样的关于Tomcat服务器端口占用的问题:“Several ports (8005, 8080, 8009) required by Tomcat v6.0 Server at localhost are already in use. The server may already be r转载 2016-08-29 16:04:14 · 951 阅读 · 1 评论 -
JAVA字符串转日期或日期转字符串
文章中,用的API是SimpleDateFormat,它是属于java.text.SimpleDateFormat,所以请记得import进来! 用法: SimpleDateFormat sdf = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " ); 这一行最重要,它确立了转换的格式,yyyy是完转载 2016-08-30 20:13:45 · 282 阅读 · 0 评论 -
我向大家推荐几个经常浏览的JAVA学习网站,如果有更好的,请留言告之!!!
转:http://www.cnblogs.com/wjun530/archive/2007/05/31/766507.html1、java研究组织 (http://www.javaresearch.org/index.jsp)。 该网站有许多文章,涉及java的各个领域和方向。另为还有许多软件和书籍的下载, 使一个java学习的不错的网站,有空去逛逛,会学到许多的东西。转载 2016-09-06 09:56:00 · 939 阅读 · 0 评论 -
Java中的泛型方法
泛型是什么意思在这就不多说了,而Java中泛型类的定义也比较简单,例如:public class Test{}。这样就定义了一个泛型类Test,在实例化该类时,必须指明泛型T的具体类型,例如:Test t = new Test();,指明泛型T的类型为Object。 但是Java中的泛型方法就比较复杂了。 泛型类,是在实例化类的时候指明泛型的具体类型;泛型方转载 2016-11-11 09:21:55 · 205 阅读 · 0 评论 -
Java的static关键词详解
通常来说,当创建类时,就是描述那个类的对象的外观与行为。除非用new创建那个类的对象,否则,实际上并未获得任何对象。执行new来创建对象时,数据储存空间才被分配,其方法才供外界调用。有两种情况上述方法是无法解决的。一种情况是,只想为特定域分配单一储存空间,而不去考虑究竟要创建多少对象,甚至根本就不创建对象。 另一种情况是,希望某个方法不与包含它的类的任何对象关联在一起。也就是说,即使没原创 2016-12-12 10:17:25 · 382 阅读 · 0 评论 -
java集合框架(一)
一、集合接口 1、Collection接口-------定义了存储一组对象的方法,其子接口Set和List分别定义了存储的方式 1.1 set中的数据没有顺序且不可以重复。 1.2 Li原创 2016-06-20 20:49:49 · 366 阅读 · 0 评论 -
Java transient关键字解析
本文内容很简单,但是因为transient这个关键字平时用得很少,我担心过段时间又不知道它是干嘛的了,写出来最起码可以让记忆更深刻,所以写本文的目的就是备忘!老鸟就不用往下看了~前言在进入正文之前,我们先来看一段很简单的代码:Account.java:12345678910111213141516171819202122232425262728293转载 2016-12-17 20:01:32 · 337 阅读 · 0 评论 -
Java集合框架(二)
实际上只有四种容器,Map,List,Set,Queue。但是每个接口不止一种实现方式。HashTable、Vector、Stack的特征是,他们是过去遗留下来的类,知识为了支持老的程序(最好不要在新的程序中使用他们)每种实现接口都有着自己的优缺点ListArrayList底层是用数组实现的;而LinkedList是由双向链表实现的,如果经常在表中插入或者删除元素,LinkList原创 2016-12-18 10:36:14 · 308 阅读 · 0 评论 -
深入理解Java中的final关键字
Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使用final关键字的实例。final经常和static一起使用来声明常量,你也会看到final是如何改善应用性能的。final关键字的含义?final在Java中是一个保留的关键字,可转载 2017-02-21 19:35:29 · 283 阅读 · 0 评论 -
java实现钱数数字到大写的转换联系
package com.slowly.java;import java.util.Scanner;/** * Description: * 网站: 疯狂Java联盟 * Copyright (C), 2001-2016, Yeeku.H.Lee * This program is protected by copyright laws. * Program Name: * D原创 2016-04-11 08:39:21 · 801 阅读 · 0 评论