java
文章平均质量分 74
Jason丶宇
现java开发工作
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构-红黑树
简介:红黑树是一种特殊的平衡二叉树(AVL)红黑树的性质:每个结点不是红色就是黑色 不可能有连在一起的红色结点 根结点都是黑色 每个红色结点的子结点都是黑色(叶子结点都是黑色)旋转和颜色变换规则:变颜色的情况:当前结点的父亲是红色,且它的祖父结点的另一个子结点也是红色。( 叔叔结点) : (1)把父节点设为黑色( 2 )把叔叔也设为黑色( 3 )把祖父也就是父亲的父亲设为红色( 4 )把指针定义到祖父结点设为当前要操作的.2.左旋:当前父结点是红色,叔叔是黑色的时候,且当.原创 2020-09-22 21:35:46 · 207 阅读 · 0 评论 -
JVM之类的加载
类加载子系统功能细分加载模块1.通过一个类的全限定明获取定义此类的二进制字节流;2.将这个字节流所代表的的静态存储结构转化为方法区的运行时数据;3.在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口链接模块分为三块,即验证、准备、解析验证1.目的在于确保Class文件的字节流中包含信息符合当前虚拟机要求,保证被...原创 2021-01-17 16:31:43 · 469 阅读 · 0 评论 -
java volatile关键字详解
一、前言在解释前,首先需要理解并发编程的三大概念:原子性,有序性,可见性。一、原子性1、定义:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。2、实例 a、概念解说: 一个很经典的例子就是银行账户转账问题: 比如从账户A向账户B转1000元,那么必然包括2个操作:从账户A减去1000元,往账户B加上1000元。 试想一下,如果这2个操作不具备原子性,会造成...原创 2018-03-29 16:17:45 · 1317 阅读 · 0 评论 -
Java反射机制
一、什么是反射机制 简单的来说,反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字, 那么就可以通过反射机制来获得类的所有信息。 二、哪里用到反射机制 有些时候,我们用过一些知识,但是并不知道它的专业术语是什么,在刚刚学jdbc时用过一行代码, Class.forName("com.mysql.jdbc.Driver.cla...转载 2018-04-10 11:58:38 · 185 阅读 · 0 评论 -
jbpm工作流
1、工作流相关概念工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。通俗的说,流程就是多个人在一起合作完成某件事情的步骤,把步骤变成计算机能理解的形式就是工作流。工作流管理系统(WfMS,Workflow Managemen...原创 2018-04-09 18:11:42 · 759 阅读 · 0 评论 -
java 线程方法join的简单总结及与其他线程方法的区别
一、作用 Thread类中的join方法的主要作用就是同步,它可以使得线程之间的并行执行变为串行执行。具体看代码:public class JoinTest { public static void main(String [] args) throws InterruptedException { ThreadJoinTest t1 = new ThreadJoinTe...转载 2018-03-26 09:24:47 · 341 阅读 · 0 评论 -
java MQTT简单的订阅消息实例
1、首先需要启动Apollo服务(可参照上一篇文章http://blog.youkuaiyun.com/qq_29954971/article/details/79279419)2、新建java project项目服务端(发布消息):package com.activemq.mqtt;import org.eclipse.paho.client.mqttv3.MqttClient;imp原创 2018-02-07 14:54:49 · 20415 阅读 · 4 评论 -
MQTT协议--Apache Apollo服务
1、简介 MQTT是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通信协议。 ActiveMQ Apollo是一个更快,更可靠,更容易维护从原来的ActiveMQ的基础建立的消息代理。它使用完全不同的线程和消息调度体系结构来完成这个任务 。像ActiveM原创 2018-02-07 14:31:54 · 3377 阅读 · 0 评论 -
Java 泛型:通配符详解extends super
在java泛型中,? 表示通配符,代表未知类型,表示上边界限定通配符,表示下边界限定通配符。通配符与T的区别T:作用于模板上,用于将数据类型进行参数化,不能用于实例化对象。 ?:在实例化对象的时候,不确定泛型参数的具体类型时,可以使用通配符进行对象定义。 等同于 等同于 例一:定义泛型类,将key,value的数据类型进行参数化,而不可以使用通配符。public c转载 2018-01-10 15:03:10 · 1025 阅读 · 0 评论 -
JAVA UDP发送中文字符乱码问题
String sendStr = "Hello 你好!"; System.out.println(sendStr.length() + " " + sendStr.getBytes().length); DatagramPacket dp = new DatagramPacket(sendStr.getBytes(), sendStr.getBytes().length,InetAddre原创 2018-01-10 14:45:31 · 1143 阅读 · 2 评论 -
DWR的学习
1、DWR简介 借用百度百科的原话--DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。 这段话对于初学者来说有点难理解,按照我的理解是,这是一个可以在JavaScript上调用jav...原创 2018-04-28 10:35:14 · 324 阅读 · 0 评论 -
MyEclipse 中 SVN 突然失效
PS:已多次失效,找到此方法有效,将其引用。重新打开MyEclipse 后,发现SVN 不能用了,而且是引用直接失效 解决办法为: 关闭myeclipse,然后打开myeclipse安装路径(我的安装在D盘):E:\ProgramFiles\MyEclipse\MyEclipse Professional 2014\configuration然后将org.eclipse.update文...转载 2018-05-19 15:25:54 · 292 阅读 · 0 评论 -
springMVC 使用MultipartFile进行文件上传
前言:springMVC实现多文件上传的方式有两种,一种是我们经常使用的以字节流的方式进行文件上传,另外一种是使用springMVC包装好的解析器进行上传。这两种方式对于实现多文件上传效率上却有着很大的差距,下面我们通过实例来看一下这两种方式的实现方式,同时比较一下在效率上到底存在着多大的差距。下载:下载相关jar包。需要引入的jar出了springMVC的jar包外,还需要引入co...原创 2018-11-06 15:07:47 · 1279 阅读 · 0 评论 -
JavaWeb Apache FtpServer的使用
1、简介Apache Ftp Server 是100%纯Java的FTP服务器软件,它采用MINA网络框架开发具有非常好的性能。Apache FtpServer 既可以嵌到Java应用中使用,也可以做为Windows服务或Unix/Linux Daemon单独运行。此外还提供与Spring 相集成的模块。用户管理主要对于FTP的用户进行管理,包括用户名,用户密码,用户的根目录,用户的写权限...原创 2018-10-19 09:12:25 · 4431 阅读 · 1 评论 -
tomcat配置https(单向认证)+如何使用java请求
一. 创建tomcat证书 这里使用JDK自带的keytool工具来生成证书: 1. 在jdk的安装目录\bin\keytool.exe下打开keytool.exe 2. 在命令行中输入以下命令:keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "g:\tomcat.keystore" ...原创 2018-09-07 15:54:27 · 2146 阅读 · 0 评论 -
JVM的认识
1、概念 首先需要了解几个概念,什么是jdk,什么是jre,什么是jvm。 JDK:Java开发工具包JDK是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。 JRE:Java运行环境运行基于Java语言编写的程序所不...原创 2018-06-24 23:13:44 · 909 阅读 · 0 评论 -
java Socket的isConnected()、和isClosed()判断是否在线的问题
首先,很多初学者都会用这两个API来判断对方是否在线,但是经过我的实践,此API并不能实时判断是否在线的状态。经过百度查询资料后,得出结论: 事实上这些方法都是访问socket在内存驻留的状态,当socket和服务器端建立链接后,即使socket链接断掉了,调用上面的方法返回的仍然是链接时的状态,而不是socket的实时链接状态。 那需要如何实现实时判断在线的功能呢? ...原创 2018-06-01 20:54:05 · 14761 阅读 · 5 评论 -
java GET或POST发送请求
public class HttpUtil { public static Logger log = Logger.getLogger(HttpUtil.class); /** * 向指定URL发送GET方法的请求 * * @param url * 发送请求的URL * @param param * ...原创 2018-05-14 22:09:44 · 230 阅读 · 0 评论 -
maven构建 出错:cannot be resolved to absolute file path because it does not reside in the file system
问题总结:使用maven分模块组件项目的时候,domain中的实体的*.hbm.xml文件不能被spring扫描到,因为聚合的时候核心包已经达成jar包了,所以要去jar中去找hbm.xml文件<bean name="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">原创 2017-12-11 17:14:49 · 8390 阅读 · 0 评论 -
java 死锁的概念(图文并茂)
多线程产生死锁的四个必要条件:互斥条件:一个资源每次只能被一个进程使用。保持和请求条件:一个进程因请求资源而阻塞时,对已获得资源保持不放。不可剥夺调教:进程已获得资源,在未使用完成前,不能被剥夺。循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。eg:只要破坏其中任意一个条件,就可以避免死锁,其中最简单的就是破环循环等待条件。按同一顺序访问对象,加载锁,原创 2017-08-22 15:50:17 · 1504 阅读 · 0 评论 -
java 异常机制
原创 2017-07-19 19:18:46 · 184 阅读 · 0 评论 -
java 集合概述
原创 2017-07-17 19:50:04 · 198 阅读 · 0 评论 -
java 格式化输出(printf)
原创 2017-07-20 19:32:46 · 363 阅读 · 0 评论 -
java 接口与抽象类及区别
抽象类:1、含有abstract修饰符的class类,即为抽象类,abstract 类不能创建的实例对象。2、含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的。3、abstract class类中定义抽象方法必须在具体(Concrete)子类中实现,所以,不能有抽象构造方法或抽象静态方法。4、如果的子类没有实现抽原创 2017-07-06 19:31:55 · 297 阅读 · 0 评论 -
描述 "构造器" 与 "初始化块" 的使用, 再谈它们的区别
构造器:1、类中的一个特殊方法,不可以使用: static, final, abstract关键字2、命名与类名相同,无返回值。作用:初始化类的数据总结:1、实质上,构造器是有返回值的,它的返回值是该对象的引用。(Person p = new Person())2、构造器不需要显示的创建,若没有,则编译器会自动创建一个无参的构造器(里面什么也没有);假如你显式的添加了一个构原创 2017-07-06 19:29:42 · 589 阅读 · 0 评论 -
Java final static abstract interface关键字介绍
1.final: 1)可用于修饰:成员变量,非抽象类(不能与abstract同时出现),非抽象的成员方法,以及方法参数 2)final方法:不能被子类的方法重写,但可以被继承; 3)final类:表示该类不能被继承,没有子类;final类中的方法也无法被继承. 4)final变量:表示常量,只能赋值一次,赋值后不能被修改.final变量必须定义初始原创 2017-06-27 20:29:07 · 454 阅读 · 0 评论 -
java中double a = (double)1 / i 和double a = (double)(1 / i ) 的不同
例如:int i = 2 double a = (double)(1 / i ); double b= (double)1 / i ; System.out.println(a); System.out.println(b);结果是0.00.5解答:如果i比1大,那么(1 / i) 结果如果是整型,则会取下限为 0(只取整数位) ;另原创 2017-06-27 11:03:05 · 1713 阅读 · 0 评论 -
java方法的重载与重写的返回值类型
方法的重载:判定一个方法是否属于重载或重复定义是根据方法的签名来定。方法签名 = 方法名 + 形参列表tes(int a ,dobule b);test(int a ,int b);方法的重写:"方法的签名" 与父类一模一样,并且在父子类之间出现方法签名一致, 这个叫重写/覆盖编译时,(1) 一旦检查到方法签名一致的。(2) 子类必须能看见父类的方法:1、原创 2017-06-29 19:07:25 · 12936 阅读 · 4 评论 -
java 泛型
原创 2017-07-19 20:18:06 · 165 阅读 · 0 评论 -
java IO(输入/输出)——(一)
原创 2017-07-24 20:19:17 · 225 阅读 · 0 评论 -
java IO(输入/输出)——(二)
原创 2017-07-24 19:59:34 · 234 阅读 · 0 评论 -
线程的几种可用状态及运行机制
1. 新建( new ):新创建了一个线程对象。2. 可运行( runnable ):线程对象创建后,其他线程(比如 main 线程)调用了该对象 的 start ()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获 取 cpu 的使用权 。3. 运行( running ):可运行状态( runnable )的线程获得了 cpu 时间片( timeslice ) ,执行程序代码转载 2017-12-02 14:07:36 · 559 阅读 · 0 评论 -
java 关于正则表达式的基本知识
预定义的字符 Java字符串表示(a) \d : 0-9 (\\d)(b) \s : 空白字符(回车,转原创 2017-07-10 20:03:17 · 292 阅读 · 0 评论 -
eclipse动态web目录结构分析
原创 2017-08-31 19:01:54 · 7703 阅读 · 3 评论 -
JSTL 时间显示
第一步:首先要导入两个包:第二步:在页面上加上标签:第三步:在需要显示时间的位置写上: //2004-5-31 23:59:59其中${isoDate}指的是EL引用的Date对象。例如isoDate" class="java.util.Date">附:2004-5-31 23:59:592004-4-123:5原创 2017-09-14 11:14:37 · 1028 阅读 · 0 评论 -
IO流
原创 2017-08-21 19:54:05 · 181 阅读 · 0 评论 -
java ip排序实例
import java.util.Arrays;public class IPSort { public static void main(String[] args) { // IP 排序 // 10.2.9.48, 192.168.1.2, 202.155.10.2, 173.68.46.65 String[] ips = { "19.2.9.4原创 2017-07-10 20:14:12 · 917 阅读 · 0 评论 -
java 关于内部类
原创 2017-07-11 19:20:54 · 188 阅读 · 0 评论 -
java 封装
封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。 适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性。public class Ti me { //封装的好处 //设置成private属性,不允许直接调用赋值,只能通过方法。 private int hour;原创 2017-06-29 19:13:39 · 243 阅读 · 0 评论 -
java.lang.UnsupportedClassVersionError jar版本不一致错误
问题:这种错误的全部报错信息:java.lang.UnsupportedClassVersionError: org/apache/lucene/store/Directory : Unsupported major.minor version 51.0 2 at java.lang.ClassLoader.defineClass1(Native Method) 3 at ja原创 2017-04-17 18:25:58 · 1155 阅读 · 0 评论
分享