
java
文章平均质量分 85
起一个好听的名字
学无止境,学海无涯,乐在其中
展开
-
缓存与数据库一致性问题
业务场景 抓拍到的人脸图片需要推送到第三方系统,但不是所有的网点都需要推送图片信息。也就是要做到不同的网点可以根据配置来决定是否推送,前端页面需要有推送配置功能,手动配置后,把配置的推送信息保存到数据库。抓拍到人脸照片后,读取配置的推送信息,再判断是否需要推送图片。由于网点多抓拍的人脸数据量较大,推送信息配置后不常修改,也就是读多写少,所以考虑把配置的推送信息保存数据库后再保存一份至redis中。实现方案 缓存和数据库的数据一致性有多种实现方式,各实现方式可以自行了解,以...原创 2021-01-05 16:45:46 · 460 阅读 · 1 评论 -
查看JVM默认的垃圾回收器
java -XX:+PrintCommandLineFlags -version终端环境下,切换到当前程序目录,输入上面的参数,回车,输出如下-XX:InitialHeapSize=132730432 -XX:MaxHeapSize=2123686912 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation.原创 2020-09-23 20:09:28 · 643 阅读 · 0 评论 -
java基础学习总结——网络编程
一、网络基础概念 首先理清一个概念:网络编程 != 网站编程,网络编程现在一般称为TCP/IP编程。 二、网络通信协议及接口 三、通信协议分层思想 四、参考模型 五、IP协议 每个人的电脑都有一个独一无二的IP地址,这样互相通信时就不会传错信息了。 IP地址是用一个点来分成四段的,转载 2016-01-18 20:55:40 · 288 阅读 · 0 评论 -
java基础学习总结——GUI编程(一)
一、AWT介绍 所有的可以显示出来的图形元素都称为Component,Component代表了所有的可见的图形元素,Component里面有一种比较特殊的图形元素叫Container,Container(容器)在图形界面里面是一种可以容纳其它Component元素的一种容器,Container本身也是一种Component的,Container里面也可以容纳别的Contain转载 2016-01-18 20:57:38 · 2486 阅读 · 0 评论 -
java基础学习总结——java读取properties文件总结
一、java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都会写在properties文件中,这里主要是总结使用getResourceAsStream方法和InputStream流去读取properties文件,使用getResourceAsStream方法去读取properties文件时需要特别注意properties文转载 2016-01-18 20:58:48 · 230 阅读 · 0 评论 -
Java基础学习总结——Java对象的序列化和反序列化
一、序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。 在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是转载 2016-01-18 20:59:51 · 195 阅读 · 0 评论 -
Java制作证书的工具keytool用法总结
一、keytool的概念 keytool 是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。在JDK 1.4以后的版本中都包含了这一工具,它的位置为%JAVA_HOME%\bin\keytool.exe,如下图所示: 二、keytool的用法 三、转载 2016-01-18 21:00:39 · 304 阅读 · 0 评论 -
java基础学习总结——哈希编码
一、哈希编码 现在是站在JAVA虚拟机的角度来看内存里面的布局,站在JAVA虚拟机的角度,在内存里面有好多好多个对象,这里用椭圆来代表一个个对象。一个程序运行起来的时候,可能会有很多个对象在内存里面分配,那么对于JAVA虚拟机来说,它运行的时候需要找到这些对象的地址,这些对象的地址怎么找呢?JAVA虚拟机会用一张表记录每一个对象在什么位置上,而这张表一般是用哈希编码来记录,每转载 2016-01-18 21:01:59 · 272 阅读 · 0 评论 -
java基础学习总结——线程(一)
一、线程的基本概念 线程理解:线程是一个程序里面不同的执行路径 每一个分支都叫做一个线程,main()叫做主分支,也叫主线程。 程只是一个静态的概念,机器上的一个.class文件,机器上的一个.exe文件,这个叫做一个进程。程序的执行过程都是这样的:首先把程序的代码放到内存的代码区里面,代码放到代码区后并没有马上开始执行,但这时候说明了一个进程准备开始转载 2016-01-18 21:02:56 · 332 阅读 · 0 评论 -
java基础学习总结——线程(二)
一、线程的优先级别 线程优先级别的使用范例: 1 package cn.galc.test; 2 3 public class TestThread6 { 4 public static void main(String args[]) { 5 MyThread4 t4 = new MyThread4(); 6 My转载 2016-01-18 21:03:36 · 288 阅读 · 0 评论 -
java基础学习总结——流
一、JAVA流式输入/输出原理 流是用来读写数据的,java有一个类叫File,它封装的是文件的文件名,只是内存里面的一个对象,真正的文件是在硬盘上的一块空间,在这个文件里面存放着各种各样的数据,我们想读文件里面的数据怎么办呢?是通过一个流的方式来读,咱们要想从程序读数据,对于计算机来说,无论读什么类型的数据都是以010101101010这样的形式读取的。怎么把文件里面的数据转载 2016-01-18 21:04:48 · 238 阅读 · 0 评论 -
Java基础加强总结(三)——代理(Proxy)
一、代理的概念 动态代理技术是整个java技术中最重要的一个技术,它是学习java框架的基础,不会动态代理技术,那么在学习Spring这些框架时是学不明白的。 动态代理技术就是用来产生一个对象的代理对象的。在开发中为什么需要为一个对象产生代理对象呢? 举一个现实生活中的例子:歌星或者明星都有一个自己的经纪人,这个经纪人就是他们的代理人,当我们需要找明星表演时,不能直接找到转载 2016-01-18 21:22:14 · 747 阅读 · 0 评论 -
HttpClient使用详解
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会转载 2016-01-04 17:26:28 · 317 阅读 · 0 评论 -
HttpClient 教程 (一)
HttpClient 教程 (一)前言超文本传输协议(HTTP)也许是当今互联网上使用的最重要的协议了。Web服务,有网络功能的设备和网络计算的发展,都持续扩展了HTTP协议的角色,超越了用户使用的Web浏览器范畴,同时,也增加了需要HTTP协议支持的应用程序的数量。尽管java.net包提供了基本通过HTTP访问资源的功能,但它没有提供全面的灵活性和其它很多应用程序需要的转载 2016-01-04 17:41:41 · 297 阅读 · 0 评论 -
String字符串的截取
几个经常用到的字符串的截取string str="123abc456";int i=3;1 取字符串的前i个字符 str=str.Substring(0,i); // or str=str.Remove(i,str.Length-i); 2 去掉字符串的前i个字符: str=str.Remove(0,i); // or str=str.Substring(i);转载 2016-01-27 09:45:36 · 907 阅读 · 0 评论 -
Class.forName()用法及与new区别 详解
平时开发中我们经常会发现:用到Class.forName()方法。为什么要用呢? 下面分析一下: 主要功能Class.forName(xxx.xx.xx)返回的是一个类Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段在初始化一个类,生成一个实例的时候,newInstance()方法和new关键字除了一个是方法,一个是转载 2016-01-13 09:54:35 · 575 阅读 · 0 评论 -
java反射详解
java反射详解本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解。下面开始正文。【案例1】通过一个对象获得完整的包名和类名123456789101112131415packa转载 2016-01-13 10:35:17 · 248 阅读 · 0 评论 -
Java异常解读
一、异常的概念和Java异常体系结构Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exception。Thorwable类所有异常和错误的超类,有两个子类Error和Exception,分别表示错误和异常。其中异常类Exception又分为运行时异常(转载 2016-01-13 16:13:09 · 1176 阅读 · 0 评论 -
java中queue的使用
java中queue的使用Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue接 口。Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类型如果是Queue时,就完全只能访问Queue接口所定义的方法 了,而不能直接访问 LinkedList的非Queue的方法),以使得只有恰当的方法才可以使用。Blockin转载 2016-02-01 13:08:47 · 345 阅读 · 0 评论 -
String类用法详解
以下是string的七种用法,注意哦,记得要时常去查看java的API文档,那个里面也有很详细的介绍1>获取 1.1:字符串中包含的字符数,也就是字符串的长度。 int length():获取长度 1.2:根据位置获取位置上某个字符。 char charAt(int index) 1.3:根据字符获取该字符在字符串中的位置。 int indexOf(int ch)转载 2016-01-14 14:15:56 · 241 阅读 · 0 评论 -
JAVA的StringBuffer类
StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。 所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。 在转载 2016-01-14 14:20:52 · 288 阅读 · 0 评论 -
Java关键字final、static使用总结
Java关键字final、static使用总结 一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子转载 2016-01-14 15:03:39 · 201 阅读 · 0 评论 -
深入理解Java接口
一、Java接口的基本内容[1].Java编程语言中不支持多重继承(即Java中一个类不能有多于一个的直接父类),但可以实现多个接口,这就间接地实现了多重继承。[2].接口(Interface)将产生一个完全抽象的类,它是用来建立类与类之间的协议的,其内部只提供调用方法的形式(创建者确定方法名、参数列表及返回类型),而没有提供任何具体的方法体。具体的实现方法(该接口中的所有方法)需要在遵循转载 2016-01-14 15:07:24 · 260 阅读 · 0 评论 -
JAVA基础知识总结
1、使用浮点型数值时,默认的类型是double,后面加上f或F才被识别为float类型。2、使用数组前一定要先开辟内存空间,当然也可以直接用静态赋值的方式。3、Java中的基本数据类型变量为全局变量(确切地说,是类中的属性域的变量,java中是没有全局变量的)时,可以不赋值,直接使用,因为有默认值,但是作为局部变量时,就必须在赋值后才能使用,而对于引用数据类型,无论是全局还是局部变量,都会转载 2016-01-14 17:02:15 · 230 阅读 · 0 评论 -
java中关于Map的三种遍历方法机putAll的用法详解
map的三种遍历方法!集合的一个很重要的操作---遍历,学习了三种遍历方法,三种方法各有优缺点~~复制代码 代码如下:/** To change this template, choose Tools | Templates* and open the template in the editor.*/package cn.tsp2c.liubao;import转载 2016-01-20 20:22:48 · 6490 阅读 · 1 评论 -
Java常用类
Java常用类:前言:在上两节的博文中,我们对Java的多线程进行了深入的解析,理解起来还是有一些难度的;今天这一节,我们讲点轻松点的,就是Java中的一些常用类的用法,这些类都放在java.lang包或者java.util包下;而我们不需要import lang包,因为系统会自动导入这个包!好了,废话不多说,看是这一节!Java.lang包中的常用类:转载 2016-01-15 09:57:36 · 413 阅读 · 0 评论 -
Java中队列的使用
在java5中新增加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取并移出元素。它们的优点是通过返回值可以判断成功与否,add()和remove()方法在失败的时候会抛出异常。 如果要转载 2016-02-03 11:24:25 · 347 阅读 · 0 评论 -
Java IO的RandomAccessFile的使用
RandomAccessFile是用来访问那些保存数据记录的文件的,你就可以用seek( )方法来访问记录,并进行读写了。这些记录的大小不必相同;但是其大小和位置必须是可知的。但是该类仅限于操作文件。RandomAccessFile不属于InputStream和OutputStream类系的。实际上,除了实现DataInput和DataOutput接口之外(DataInputStream和转载 2016-03-04 10:11:08 · 325 阅读 · 0 评论 -
java基础学习总结——GUI编程(二)
一、事件监听 测试代码一: 1 package cn.javastudy.summary; 2 3 import java.awt.*; 4 import java.awt.event.*; 5 6 public class TestActionEvent { 7 public static void main(String args[]) {转载 2016-01-18 20:56:36 · 530 阅读 · 0 评论 -
java实现当前页面保存为图片
方法一:import java.awt.Dimension;import java.awt.Rectangle;import java.awt.Robot;import java.awt.Toolkit;import java.awt.image.BufferedImage;import java.io.File;import javax.imageio.ImageIO;转载 2016-04-05 17:54:52 · 2647 阅读 · 0 评论 -
java实现截取屏幕保存为图片
import java.awt.AWTException;import java.awt.Color;import java.awt.Dimension;import java.awt.Graphics;import java.awt.GraphicsDevice;import java.awt.GraphicsEnvironment;import java.awt.Rectangle转载 2016-04-05 18:03:55 · 870 阅读 · 0 评论 -
java实现屏幕截图
package com.hzih.stp.web.action.device;/** * Created by Administrator on 2016/4/6. */import com.opensymphony.xwork2.ActionSupport;import org.apache.struts2.ServletActionContext;import java.io.转载 2016-04-06 10:19:19 · 370 阅读 · 1 评论 -
java从字符串中截取数字
java从字符串中提取数字 随便给你一个含有数字的字符串,比如:String s="eert343dfg56756dtry66fggg89dfgf";那我们如何把其中的数字提取出来呢?大致有以下几种方法,正则表达式,集合类,还有就是String类提供的方法。1 String类提供的方法:package 测试练习;import java.util.*;public转载 2016-04-06 15:54:17 · 7710 阅读 · 0 评论 -
comparator接口与Comparable接口的区别
1. Comparator 和 Comparable 相同的地方他们都是java的一个接口, 并且是用来对自定义的class比较大小的,什么是自定义class: 如 public class Person{ String name; int age }.当我们有这么一个personList,里面包含了person1, person2, persion3....., 我们用Collect转载 2016-05-11 18:33:52 · 262 阅读 · 0 评论 -
Collections在java中的常见用法
1.工具类collections用于操作集合类,如List,Set,常用方法有:1) 排序(Sort)使用sort方法可以根据元素的自然顺序 对指定列表按升序进行排序。列表中的所有元素都必须实现 Comparable接口。此列表内的所有元素都必须是使用指定比较器可相互比较的double array[] = {112, 111, 23, 456, 231 };转载 2016-05-11 18:44:49 · 1209 阅读 · 0 评论 -
java的Arrays类的应用
java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。具有以下功能:² 给数组赋值:通过fill方法。² 对数组排序:通过sort方法,按升序。² 比较数组:通过equals方法比较数组中元素值是否相等。² 查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。fill方法:给数组赋值sort方法:都数组排序equa转载 2016-05-12 09:43:58 · 284 阅读 · 0 评论 -
比较Collection 和Collections的区别,Array与Arrays的区别
1.工具类collections用于操作集合类,如List,Set,常用方法有:1) 排序(Sort)使用sort方法可以根据元素的自然顺序 对指定列表按升序进行排序。列表中的所有元素都必须实现 Comparable接口。此列表内的所有元素都必须是使用指定比较器可相互比较的double array[] = {112, 111, 23, 456, 231 };转载 2016-05-11 18:47:19 · 2328 阅读 · 0 评论 -
简单介绍java Enumeration
Enumeration接口 Enumeration接口本身不是一个数据结构。但是,对其他数据结构非常重要。 Enumeration接口定义了从一个数据结构得到连续数据的手段。例如,Enumeration定义了一个名为nextElement的方法,可以用来从含有多个元素的数据结构中得到的下一个元素。Enumeration接口提供了一套标准的方法,由于Enumeration是一个接口,它的角色转载 2016-04-18 12:21:45 · 270 阅读 · 0 评论 -
java中Comparator比较器的使用
java中Comparator的使用:对用户集合进行排序,先按照年龄大小排序,若年龄相等,则按照姓名排序标签: 代码片段(2)[全屏查看所有代码]1. [代码][Java]代码 ?123456789101112131415161718192021222转载 2016-05-06 16:37:57 · 957 阅读 · 0 评论 -
用 Java 实现断点续传 (HTTP)
断点续传的原理其实断点续传的原理很简单,就是在 Http 的请求上和一般的下载有所不同而已。 打个比方,浏览器请求服务器上的一个文时,所发出的请求如下: 假设服务器域名为 wwww.sjtu.edu.cn,文件名为 down.zip。 GET /down.zip HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, i转载 2016-06-27 10:24:34 · 223 阅读 · 0 评论