java
文章平均质量分 86
xiaopengyaonixi
Enjoy life Enjoy coding
展开
-
java学习笔记--输出本月日历
摘自java核心技术卷I,输出本月的日历,代码如下:package com.handkoo.test;import java.text.DateFormatSymbols;import java.util.Calendar;import java.util.GregorianCalendar;public class CanendarDemo { public static v转载 2016-10-11 10:23:25 · 2792 阅读 · 1 评论 -
Android 网络编程(解析XML和JSON数据)
本文主要记载了学习第一行代码关于网络编程方面的内容。在Android中发送http主要有两种方式: HttpURLConnection HttpClient (存在api数量过多,拓展困难不建议使用)文本还重点设计使用OkHttp框架来发起http请求 解析XML格式的数据 Pull解析 ...转载 2018-12-28 14:06:25 · 403 阅读 · 0 评论 -
Android 使用高德地图SDK
本文主要记录了如何使用高德地图来实现android应用特色开发主要包括以下内容:申请高德api key 使用android studio创建项目,并且引入高德地图的sdk 实现定位并在地图上标记本文主要参考:《android第一行代码》,高德开发者文档https://lbs.amap.com/api/android-sdk/gettingstarted,最终运行的效果如下:...原创 2018-12-29 13:27:36 · 1525 阅读 · 0 评论 -
ZUI + SSM框架下数据表格的使用
完成一个小项目,后端为SSM框架,前端使用了ZUI框架,下面记录了如何使用zui框架下的datagrid组件来实现传统页面下1.加载数据2.关键字搜索3.按照字段排序4.全选常用功能的实现,整个过程实现不复杂。为了方便以后直接使用和参考,和其他使用相同或类似技术开发人员直接上手,将整个过程记录下来。首先实现的页面效果如下:Demo前期的准备:本实例使用了acco...原创 2019-03-01 17:21:00 · 3232 阅读 · 3 评论 -
深入工厂模式,观察者模式,适配器模式,单例模式
工厂模式专门负责实例化有大量公共接口的类。工厂模式可以动态地决定将哪一个类实例化,而不必实现知道每次要实例化哪一个类。客户类和工厂类是分开的。消费者无论什么时候需要某种产品,需要做的只是向工厂提出请求即可。消费者无需修改就可以接纳新产品。当然也存在缺点,就是当产品修改时,工厂类也要做出相应的修改。工厂模式包含以下几个形态1)简单工厂模式(Simple Factory)模式。简单工厂模...转载 2019-03-19 19:39:24 · 906 阅读 · 0 评论 -
JVM的工作原理
为了方便管理,JVM在执行Java程序的时候,会把它所管理的内存划分为多个不同的区域:(1)class文件class文件是Java程序编译后生成的中间代码,这些中间代码将会被JVM解释执行。(2) 类装载子系统类装载子系统负责把class文件装载到内存中,供虚拟机和用户自定义类装载器。其中,启动类装载器是JVM实现的一部分;用户自定义类装载器则是java程序的一部分,必须是C...转载 2019-03-16 20:19:15 · 222 阅读 · 0 评论 -
数据库锁知识点整理
问题导入:数据库以及线程发生死锁的原理以及必要条件是什么?如何避免死锁?所谓死锁是指的两个或者两个以上的进程在执行的过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞现象。如果没有外力作用,那么它们将无法推送下去。此时,称系统处于死锁状态或者系统产生了死锁,这些永远在相互等待的线程称为死锁进程。下面用一个例子来说明死锁,如果一个程序需要并行处理多个任务,那么就可以创建多个线程,但是线...转载 2019-03-20 22:12:54 · 347 阅读 · 0 评论 -
图解Java 堆
问题:java堆被分成老年代和年轻代,他们有何区别?根据对象的生命周期的长短把对象分成不同的种类(年轻代,年老代和持久代),并分别进行内存回收, 也就是分代垃圾回收。什么情况下会触发fullGC,应该如何避免?1)调用System.gc()方法会触发fullGC,因此,在编码的时候尽量避免调用这个方法;2)老年代空间不足。由于老年代主要用来存储从年轻代转入的对象,大对象和...原创 2019-03-17 14:07:30 · 325 阅读 · 0 评论 -
Java 实现多线程方式总结
java 虚拟机是运行所有java程序抽象的计算机,是java语言允许并发地运行多个线程。多线程的实现一般 有以下三个方法:(1) 实现Runnable接口,并实现该接口的run()方法。自定义类并实现Runnable接口,实现run()方法; 创建Thread对象,用实现Runnable接口的对象作为参数实例化该Thread对象; 调用Thread的start()方法。packa...转载 2019-03-17 20:40:44 · 195 阅读 · 0 评论 -
Java 线程同步举例-使用Condition类实现
题目描述:一个文件中有10000个数,用Java语言实现一个多线程程序,将这10000个数输出到5个不同的文件中。要求启动10个线程,两两一组,分为5组。每组两个线程分别将文件中的奇数和偶数输出到改组对应的一个文件中,需要偶数线程每打印10个偶数,就将奇数线程打印10个奇数,如此交替执行。同时需要输出记录输出速度,每完成1000个数就在控制台中打印当前完成数量,并在所有线程结束后,在控制台输...转载 2019-03-18 16:08:28 · 395 阅读 · 0 评论 -
Java 线程池的理解
为什么要引入java线程池?new Thread()不好吗?因为通过new Thread()方法来创建线程执行我们的任务,是非常耗时,并且他们独立各自运行,缺乏统一管理。这样最直接的后果:过度消耗资源,最终导致性能急剧下降,这样引入线程池就可以处理上面的问题。使用线程池的好处?线程池中的线程可以被所有的工作线程重复利用,减少线程创建的次数; 可以限制线程的个数,不会导致...转载 2019-03-18 19:01:08 · 252 阅读 · 0 评论 -
JDBC事务隔离级别
读“脏数据”一个事务读取了另一个事务尚未提交的数据,例如当事务A与事务B并发执行,当事务A更新后,事务B查询读取到事务A尚未提交的数据,此时事务A回滚,则事务B读取到的数据是无效的“脏数据”。“不可重复读”一个事务的操作导致另一个事务前后两次读取到不同的数据,例如当事务A与事务B并发执行时,当事务B查询读取数据后,事务A更新操作更改事务B查询到的数据,此时事务B再次读取该数据...转载 2019-03-18 20:53:42 · 318 阅读 · 0 评论 -
手撕forward 和 redirect
在设计Web应用的时候,通常要把有一个系统进行结构化设计,按照模块进行划分,让不同的Servlet来实现不同的功能,例如可以让其中的一个Servlet接收用户的请求,另一个Servlet来处理用户的请求。为了实现这种程序的模块化,就需要保证在不同的Servlet之间可以相互跳转,而Servlet有两种方式:forward和redirect方式。forward是服务器内部的重定向,服务器直接...转载 2019-03-19 10:53:38 · 165 阅读 · 0 评论 -
java 基础 native 关键字
1.背景:今天学习多线程,多留意了一下 Thread 类中的 setPriority 方法,发现设置线程优先级别的时候有一个方法“setPriority0”。光看名字就觉得有点奇怪。于是继续探索他到底是怎么实现的,发现java并没有实现该方法,只有"private native void setPriority0(int newPriority);",然后"native" 这个关键字引起我的注意,...原创 2018-11-02 18:55:35 · 259 阅读 · 0 评论 -
SpringMVC实现文件上传和下载的工具类-MyFileUtils
本文主要目的是记录自己基于SpringMVC实现的文件上传和下载的工具类的编写,代码经过测试可以直接运行在以后的项目中。开发的主要思路是对上传和下载文件进行抽象,把上传和下载的核心功能抽取出来分装成类。我的工具类具体代码如下:package com.baosight.utils;import java.io.BufferedInputStream;import java.io....原创 2018-07-22 14:55:02 · 2767 阅读 · 0 评论 -
JAVA Eexcel导入导出工具类
package com.jlc.utilimport java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.lang.reflect.Field;import java.util.ArrayList;import java.util.HashMap;import ja原创 2017-04-18 14:29:26 · 886 阅读 · 0 评论 -
java学习笔记--封装的注意点
注意在进行封装对象的时候,在一个类中不要编写返回引用的访问器。如下代码:package com.handkoo.test;import java.util.Date;public class Demo { private Date myDate; public Demo() { } public Demo(D转载 2016-10-11 10:50:12 · 610 阅读 · 0 评论 -
java 学习笔记--利用反射实现自定义toString()的工具类
引用自java核心技术卷I一个toString的工具方法,通过java反射来实现:package com.handkoo.chap5;import java.lang.reflect.AccessibleObject;import java.lang.reflect.Array;import java.lang.reflect.Field;import java.lang.ref转载 2016-10-13 14:49:45 · 1728 阅读 · 1 评论 -
JAVA -get-post-soap方式反问外部webservices
package com.handkoo.webservices;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;im转载 2016-11-08 21:19:38 · 350 阅读 · 0 评论 -
java 的动态代理
java 的动态代理什么是代理?代理模式就是在原有的服务上多加了一个占卫,通过这个占卫去控制服务的访问。动态代理示意图如下:使用动态代理的原因:1.一方面可以控制如何访问真正的对象,提供额外的服务;2.另一方面可以重写一些类来满足特定的需要一般动态代理分为两种:1.jdk反射机制提供的代理 2.cglib提供的代理反射技术/** * java转载 2016-11-30 10:34:14 · 687 阅读 · 0 评论 -
dom4j 学习 -- 封装dom4j工具类+如何使用dom4j解析
今天项目里面用到dom4j解析xml数据,特地整理了一下封装dom4j的工具方法,使用dom4j来解析xml文档.首先是封装了dom4j的工具类:package myDOM4J;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.StringReader原创 2016-12-08 21:44:21 · 7576 阅读 · 0 评论 -
mybatis 学习--mybatis基本用法入门
mybatis入门1.创建java web项目2.添加mybatis的jar包和mysql的驱动jar包3.在数据库中创建一个数据库,并创建一个测试的数据表user并添加数据4.添加user 的java类package com.xiaopeng.model;public class User { private int id; priva转载 2016-11-27 15:27:04 · 360 阅读 · 0 评论 -
java 如何实现等待子线程结束
工作中往往会遇到异步去执行某段逻辑, 然后先处理其他事情, 处理完后再把那段逻辑的处理结果进行汇总的产景, 这时候就需要使用线程了。一个线程启动之后, 是异步的去执行需要执行的内容的, 不会影响主线程的流程, 往往需要让主线程指定后, 等待子线程的完成. 这里有几种方式.站在 主线程的角度, 我们可以分为主动式和被动式.主动式指主线主动去检测某个标志位, 判断子线程是否已经完成. 被转载 2016-12-18 20:53:18 · 1902 阅读 · 0 评论 -
java 调用webservice(xml格式交换)工具类
今天在公司开发一个webservice相关的项目使用RPC调用时候,由于报文返回过大,出现了内存溢出的情况。这里可以使用axis访问webservice,这里是我封装的工具类。package com.handkoo.utils; import javax.xml.namespace.QName;import javax.xml.rpc.ParameterMode;import org原创 2017-01-04 20:13:07 · 7972 阅读 · 1 评论 -
java学习 -- 利用类的反射和泛型自己动手写jdbc封装小类库
我是怀着激动的心情写下这篇文章的,当我runas->java application出现结果的时候,我就知道我成功了,这种感觉真是太好了,我像这就是我一直驱动我不断坚持下去的动力吧!自己动手来封装jdbc访问类库在公司开发项目(ssh框架)的时候,我特别烦躁的一点就是每次用jdbc方式写一个数据访问(hibernate 可以用但是个人觉得对于复杂查询难以做到和好的控制,可能自己还要原创 2016-12-17 22:44:47 · 2900 阅读 · 1 评论 -
java 利用OKHttp进行get和post访问
公司业务需求,需要调用API,里面涉及到http的访问请求,这里用到了http的一个访问的框架,自己写的工具类如下: package com.xxxx.util;import java.io.IOException;import okhttp3.MediaType;import okhttp3.OkHttpClient;import okhttp3.Request;impo...原创 2017-03-21 16:40:23 · 9831 阅读 · 0 评论 -
调用高德地图api 实现地址解析
应业务需求,实现输入一个地址,调用高德的地图的api将返回解析后的地址高德地图的官方说明:https://lbs.amap.com/api/webservice/guide/api/georegeo第一步,注册一个账号,创建一个应用取得appkey第二步,仔细研读官网api,封装一个返回的实体类package com.handkoo.entity;import原创 2017-03-21 17:12:48 · 25162 阅读 · 21 评论 -
java 解决倒水问题
问题导入:倒水问题描述:现在有3L,4L的杯子,无限多的水,要求用这两个容器倒出5L的水,如何求解?求解具体代码:/** * Question:倒水问题描述:现在有3L,4L的杯子,无限多的水,要求用这两个容器倒出5L的水,如何求解? * Author: ChenPeng * CompleteTime:2019-04-21 */import java.util.*;...原创 2019-04-21 19:46:39 · 1763 阅读 · 0 评论