
JAVA基础
文章平均质量分 94
JAVA-基础
猿来这样1
编程圈子,谢厂节的博客
展开
-
RxJava学习入门1.基本概念和常用的创建操作符
RxJava学习入门1.基本概念和常用的创建操作符一、简介1. RxJava的一些优势:2. 几个重要的概念(1) 观察者: Observer(2) 被观察者: 触发事件并决定什么时候发送事件的主要角色。(3) 订阅:观察者和被观察者建立关联3. 六大类操作符二、 创建操作符1. 创建demo项目2. 创建操作符示例3. 消费者4. just 操作符5. fromArray操作符,类似于just,但数组不受10个限制6. fromIterable 迭代器操作符7. fromFuture操作符8. fromC原创 2022-04-13 13:35:30 · 2208 阅读 · 0 评论 -
JAVA进阶1 JVM概述与字节码
JAVA语言概述JAVA程序运行机制高级语言的运行机制编译型:c 、C++、FORTRAN、Pascal等 解释型:Ruby、Python 伪编译型:Visual Basic,半编译型语言,首先被编译为P-代码,并将解释引擎封装在可执行性程序内,当运行程序时,P-代码会被解析成真正的二进制代码。Visual Basic编译的EXE文件中,既有程序的启动代码,也有链接解释程序的代码,而这部原创 2016-12-31 16:18:55 · 705 阅读 · 0 评论 -
JAVA进阶2 深入理解面向对象
理解面向对象Java语言是纯粹的面向对象的程序设计语言,这主要表现为Java完全支持面向对象的三种基本特征:继承、封装、多态。Java语言完全以对象为中心,Java程序的最小程序单位是类,整个Java程序由一个一个的类组成。 Java完全支持使用对象、类、继承、封装、消息等基本概念来进行程序设计,允许从现实世界中客观存在的事物(即对象)出发来构造软件系统,在系统构造中尽可能运行人类的自然思维方式。原创 2016-12-31 18:26:22 · 1070 阅读 · 0 评论 -
JAVA进阶3 多线程知识
线程与进程一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程原创 2017-12-04 10:28:28 · 408 阅读 · 0 评论 -
JAVA进阶4 日志框架
slf4j日志框架的接口,需要给出日志框架的具体实现才能使用。 Log4j和logback是众多框架中的几种。log4jlog4j是apache实现的一个开源日志组件。(Wrapped implementations)logbacklogback同样是由log4j的作者设计完成的,拥有更好的特性,用来取代log4j的一个日志框架。是slf4j的原生实现。(Native...原创 2018-04-16 14:22:07 · 473 阅读 · 0 评论 -
JAVA基础——回调实现方式
原理就不讲了,这里只记录几种写法的demo:1. 回调函数在A里实现A.javapublic class A { public static void main(String[] args) { B b = new B(); b.setBListener(new IB() { @Override public vo原创 2017-08-18 10:27:45 · 516 阅读 · 0 评论 -
JAVA基础应用——java程序在centos后台运行
说明Java Service Wrapper把java程序打包为服务。目前支持4种打包方式。WrapperSimpleApp 使用WrapperSimpleApp helper class来运行程序。WrapperStartStopApp 使用WrapperStartStopApp helper classWrapperListener 建一个类implements the Wrappe原创 2015-12-19 17:39:04 · 6101 阅读 · 0 评论 -
JAVA基础应用——执行外部程序(Apache Commons Exec)
Runtime.getRuntime().exec调用外部程序,在Tomcat下会有当前线程一直等待的现象。Apache Commons Exec是一个开源的Java调用外部程序类库,提供阻塞和非阻塞方法调用外部程序。 官网地址: http://commons.apache.org/proper/commons-exec/Maven: http://mvnrepository.com/arti原创 2017-05-27 15:03:09 · 2281 阅读 · 1 评论 -
JAVA基础应用——调用Jersey服务
之前有两篇文章已经介绍了Jersey服务的创建,本章内容介绍使用Jersey-client调用Jersey服务。 MyEclipse rest webservice 使用MyEclipse rest webservice (Jersey)使用 问题总结创建MyEclipse项目添加Rest Web Services Facet原创 2017-01-25 14:08:09 · 773 阅读 · 0 评论 -
JAVA基础——JSONObject,JSONArray 的一些常见用法
ResultSet转JsonObject对象 private static JSONObject rs2JsonObject(ResultSet rs, String key0) { ResultSetMetaData metaData; try { metaData = rs.getMetaData(); int原创 2015-10-09 14:07:46 · 1516 阅读 · 0 评论 -
JAVA基础——启动脚本
通用启动脚本 :#!/bin/sh#该脚本为Linux下启动java程序的通用脚本。即可以作为开机自启动service脚本被调用,#也可以作为启动java程序的独立脚本来使用。##Author: tudaxia.com, Date: 2011/6/7##警告!!!:该脚本stop部分使用系统kill命令来强制终止指定的java程序进程。#在杀死进程前,未作任何条件检查。在某些情况下,如原创 2017-11-30 15:06:04 · 1310 阅读 · 0 评论 -
JAVA基础——HTTP请求
同步请求同步 getpublic void test1() throws ClientProtocolException, IOException { CloseableHttpClient httpclient = HttpClients.createDefault(); // Execute 500 request in async原创 2018-01-10 15:30:31 · 481 阅读 · 0 评论 -
JAVA性能分析——JMap
JAVA性能分析——JMap原创 2017-12-19 11:19:24 · 521 阅读 · 0 评论 -
JAVA性能分析——VisualVM
VisualVM是JDK自带的免费的,集成了多个JDK命令行工具的可视化工具,为Java应用程序做性能分析及调优 VisualVM通过 jvmstat、JMX、SA(Serviceability Agent)以及 Attach API 等多种方式从程序运行时获得实时数据,从而进行动态的性能分析。同时,它能自动选择更快更轻量级的技术尽量减少性能分析对应用程序造成的影响,提高性能分析的精度。...原创 2017-11-30 15:13:42 · 1989 阅读 · 0 评论 -
JAVA Daemon线程
JVM中存在两种线程:用户线程和守护线程守护线程 Daemon Thread 守护线程,是指用户程序在运行的时候后台提供的一种通用服务的线程,比如用于垃圾回收的 垃圾回收线程。这类线程并不是用户线程不可或缺的部分,只是用于提供服务的”服务线程”。用户线程当虚拟机中的用户线程全部退出运行时,守护线程没有服务的对象后,JVM也就退出了。线程转换为守护线程 将线程转换为守护线程可以通过调用Threa原创 2017-12-07 16:48:19 · 641 阅读 · 0 评论 -
JAVA性能分析——JProfile
JProfiler是一个全功能的Java剖析工具(profiler),专用于分析J2SE和J2EE应用程序。 安装http://www.ej-technologies.com/index.html安装后,点Session->IDE Integrations , 可以安装Eclipse的JProfile插件。如果是MyEclipse,可在MyEclipse安装目录下的readme文件夹里,查看其Ecl原创 2017-12-04 14:58:00 · 1197 阅读 · 0 评论 -
JAVA进阶5 性能分析工具——JStack
当线程获得了 Monitor,进入了临界区之后,如果发现线程继续运行的条件没有满足,它则调用对象(一般就是被 synchronized 的对象)的 wait() 方法,放弃了 Monitor,进入 “Wait Set”队列。但是,要注意的是,因为 Lock类只是一个普通类, JVM无从得知 Lock对象的占用情况,所以在线程 DUMP中,也不会包含关于 Lock的信息, 关于死锁等问题,就不如用 synchronized的编程方式容易识别。比如,在程序中,有多个服务线程,设计成从一个队列里面读取请求数据。原创 2017-12-01 09:42:26 · 3118 阅读 · 2 评论 -
CRC 循环冗余校验
CRC(Cyclic Redundancy Check,CRC)是一种根据网络数据包或电脑文件等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或保存后可能出现的错误。 这利用除法及余数的原理为作错误侦测。工作原理通过在要传输的K bit数据 D后添加(n-k)bit 冗余位(Frame Check Sequence,FCS)F 形成n bit的传输帧T。 特别的,循原创 2017-03-01 18:55:56 · 716 阅读 · 0 评论 -
JAVA基础——properties存取
基本用法 读取首先在项目根目录创建文件:config.properties 读取代码Properties properties=new Properties();try{ FileInputStream inputFile=new FileInputStream("config.properties"); //放在项目根目录 properties.load(inputFile原创 2015-06-15 12:08:49 · 731 阅读 · 0 评论 -
JAVA基础应用——使用sqlite3
1 下载jar包http://www.sqlite.com.cn/Upfiles/source/sqlitejdbc-v033-nested.tgz 把sqlitejdbc-v033-nested.jar 放入项目,添加到Build Path.注意事项: 路径必须全是小写,不然会报out of memory 写操作static void WriteLog(String txt)原创 2015-08-12 18:14:47 · 1315 阅读 · 0 评论 -
JAVA基础应用——POI操作Excel
Excel操作1.下载引用poi-3.5.jar 2.典型查询示例 try { HSSFWorkbook workbook=new HSSFWorkbook(new FileInputStream(path)); int sheet_count=workbook.getNumberOfSheets();原创 2015-09-10 12:16:32 · 731 阅读 · 0 评论 -
JAVA基础——Java Synchronized
标记一个方法或代码块,防止调用冲突,被标记synchronized的代码 , 同一时该只能有一个线程操作它。synchronized关键词可被用在4种情况下:实例方法静态方法实例化方法里静态方法里Synchronized Instance Methods示例:public synchronized void add(int value){ this.count += value;原创 2017-01-18 22:25:45 · 533 阅读 · 0 评论 -
JAVA基础——调用C# Webservice(axis)
Service service = new Service();String url = "https://test.com/S_Bom_Item.asmx";String namespace = "https://test.com/";String actionUri = "hello"; // Action路径String op = "hello"; // 要调用的方法名Call ca原创 2015-06-08 17:38:38 · 2089 阅读 · 0 评论 -
JAVA基础——使用DOM4J 解析xml
解析xml 首选工具还是用dom4j下载网址: http://dom4j.sourceforge.net/读取示例 SAXReader reader = new SAXReader(); Document doc = reader.read(path); Element root = doc.getRootElement(原创 2015-06-05 11:04:39 · 666 阅读 · 0 评论 -
JAVA基础应用——JFreeChart 使用
JFreeChart是一个Java下的免费的图表控件。网址:http://www.jfree.org/jfreechart/不多说,直接上代码:饼状图:package chartTest;import java.awt.Font;import org.jfree.chart.ChartFactory;import org.jfree.chart.ChartFram原创 2015-01-08 19:31:22 · 989 阅读 · 0 评论 -
JAVA基础应用——tomcat-redis-session-manager Redis共享Session
Redis保存Java Session下载gradle构建工具网址:http://gradle.org/post-download-gradle/ 设置环境变量path指向gradle安装目录 下载源码https://github.com/jcoleman/tomcat-redis-session-manager1、修改build.gradleapply plugin: 'java'apply原创 2016-06-02 08:58:19 · 3111 阅读 · 0 评论 -
JAVA基础应用——定时器 Quartz 的使用
QuartzOpenSymphony开源组织在Job scheduling领域的开源项目,可以用来创建简单呈复杂的定时任务。下载jar网址: http://www.quartz-scheduler.org/ 我下载的是:quartz-2.2.31.创建定时任务类/* * All content copyright Terracotta, Inc., unless otherwise indi原创 2016-05-27 15:07:48 · 921 阅读 · 0 评论 -
JAVA基础应用——连接Sql server
下载下载驱动连接 String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //这一句导致了最多的错误,等等再解释 String dbURL = "jdbc:sqlserver://localhost:1433;databaseName=SYB_IMS_原创 2015-09-28 09:47:04 · 944 阅读 · 0 评论 -
JAVA基础应用——日期/UUID等一些常用代码
类 java.text.SimpleDateFormat原创 2015-09-21 09:35:50 · 1056 阅读 · 0 评论