
Java
Java
kicinio
这个作者很懒,什么都没留下…
展开
-
OpenCV之 实例化Mat对象
Mat对象:OpenCV库的Mat类用于存储图像的值,其代表一个n维数组,用于存储灰度或彩色图像,等图像数据。常见的Mat对象构造方法如下:方法作用Mat()空的构造器Mat(int rows, int cols, int type)指定的行数与列数与通道类型Mat(int rows, int cols, int type, Scalar s)指定的行数与列数与通道类型,与Scalar类的一个对象作为参数Mat(Size size, int type)指定原创 2021-10-08 22:30:41 · 398 阅读 · 0 评论 -
Java 责任链模式 Builder
责任链:代码:public class OakHttp { public final String url; public final String header; public final String language; public OakHttp(){ this(new Builder()); } public OakHttp(Builder builder){ this.url = builder.url; this.header = builder.he原创 2021-07-04 20:50:57 · 375 阅读 · 0 评论 -
Java 观察者模式(回调函数)
观察者模式:当对象间存在一对多关系时,一个对象状态发生变化,则会自动通知依赖它的对象,这种模式属于行为模式中的观察者模式。在Android开发中,常用的事件监听机制就属于观察者模式。常用的例如onClickListener()与实现View.OnClickListener这个接口都属于观察者模式的具体实现,称为回调方法。在Swift等语言中,也可以通过Protocol来实现Java中的Interface功能,但是Swift中最常用的还是Clourse(OC中的Block)来完成Java中的匿名类功能。原创 2021-07-04 10:42:03 · 627 阅读 · 0 评论 -
Java 简易实现分词器功能
前言:搜索功能是具备数据库功能的系统的一大重要特性和功能,生活中常见的搜索功能基本上都具备了分词搜索功能。然而ES功能固然强大,但对于学生或小项目而言整合起来太费人力物力,这时候,若是写一个简易的分词器就会使项目锦上添花,使其不仅仅是只能“单关键词”搜索的系统。业务需求:生活中常见的搜索功能大概可分为以下几类:单关键词。如“Notebook”双关键词加空格。如“Super Notebook”多关键词加多空格。如“Intel Super Notebook”当然,还有四甚至五关键词,这些搜索场原创 2021-06-13 20:54:06 · 4467 阅读 · 3 评论 -
Input length must be multiple of 8 when decrypting with padded cipher
报错:Input length must be multiple of 8 when decrypting with padded cipher原因:解决方法:原创 2021-04-13 18:52:17 · 1887 阅读 · 0 评论 -
HashMap 按值排序的静态工具类
假设存在这样一个业务逻辑:记录某学生的语文、数学、英语、物理、化学成绩,放入HashMap中。现要求求得该生优势学科(得分最高的科目)与劣势学科(得分最低的科目),然后提示该生扬长补短。那么可写静态工具类(懒汉模式)如下:class SortHashMap{ private static SortHashMap instance = null; private SortHashMap(){ } public static SortHashMap getInstance(){原创 2021-03-12 12:26:22 · 223 阅读 · 0 评论 -
使用概率法计算圆周率 Java实现
代码如下:public class Pi { public static double caculate() { int n = 99000000; int k = 0; for(int i = 1; i <= n; i++){ double x = Math.random(); double y = Math.random(); if((x*x + y*y) <= 1){ k++; } } double result = (k*4)/原创 2020-12-12 15:59:12 · 400 阅读 · 0 评论 -
Java 单列模式的三种常见写法
前言:一:懒汉模式/** * Note: This is a lazy mode for Single Pattern. * @author mcry416 * */public class CaculateRectangleAreaLazy { // In inner to create an instance. private static CaculateRectangleAreaLazy instance = null; // Private constructor. Ca原创 2020-12-08 12:55:02 · 227 阅读 · 0 评论 -
JVM 内存模型浅析
前言:网络上有不少关于JVM内存模型的文章,讲解地很详细,但美中不足的是内容太过于详细以至于想了解JVM内存模型的读者只能望洋兴叹。这里简明扼要地讲解一下JVM内存模型以及各区的特点,以供想要大致了解其原理的读者管中窥豹。有不足之处还请读者见谅。图解:1:模型JVM内存模型是JVM在Runtime(运行时)所管理的内存区域,这也就是内存模型的由来。JVM内存模型根据Runtime的特点会进行分区划分。划分的部分就为如上图所示的形式。2:各区作用方法区:存储已被虚拟机加载的类信息、常量、静态变原创 2020-12-03 22:41:27 · 141 阅读 · 0 评论 -
Java this关键字在内部类与匿名类的使用注意
this关键字指代的是与this最靠近的类,所以当然包括内部类与匿名类。如果想要在匿名类或者内部类中使用this关键字获得属性或方法该怎么办?在与内部类与匿名类平级的层次写一个自定义getXxx()的方法,内部使用this即可。这里提一下曾经遇到的问题:Swing中在JButton内的监听内直接调用this关键字来获取窗口的属性发现报错,后遂改为自定义内部类implements ActionListener,在此调用this关键字获取窗口的属性,仍报错。仔细检查后发现是this关键字的使用地方不合理导致原创 2020-12-02 22:41:00 · 582 阅读 · 0 评论 -
Java中如何获取自定义格式的日期
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd '/' HH:mm:ss z"); Date date = new Date(System.currentTimeMillis()); System.out.println(formatter.format(date));输出:2020-12-02 / 22:10:14 CST参数说明:yyyy是年份MM是月份dd是天数‘’内是要显示的自定义字符HH是小..原创 2020-12-02 22:10:41 · 534 阅读 · 0 评论 -
Java之浅析转型
在Java中经常会遇到基本数据之间的相互转换,在类的实例化中也存在着相似的地方,对象上转型和对象下转型。本文将浅析其作用与常见用处。原创 2020-11-23 11:32:21 · 148 阅读 · 0 评论 -
Java GC常用算法
引用计数法 (Reference Counting)这种方式虽然简单但却无法避免循环引用计数,该后果很严重标记-清除算法 (Mark-Sweep)该算法最大的问题是存在大量的空间碎片,因为回收后的空间是不连续的复制算法 (Copying)该算法的缺点是将系统内存折半标记-压缩算法 (Mark-Compact)如果在老年代大量存活的情况下采用该算法性能会折半增量算法 (Incremental Collecting)这种方式频繁切换上下文会对性能造成严重影响分代 (Generational.原创 2020-11-21 22:05:59 · 187 阅读 · 0 评论 -
Java 堆和栈的区别
先来一张图看看堆和栈在JVM内存模型的位置一:堆(Heap)1:与栈区别堆是一个Runtime数据区,类的对象从堆中进行分配空间。这些对象通过new方式建立,通过GC进行回收;2:优劣堆的优势是可以动态分配空间,缺点是存取速度比较慢,没有栈快。二:栈(Stack)1:与堆区别栈是存放基本数据变量(存放基本数据类型,如int, double, boolean等)和对象的引用;2:优劣栈的优势是存取速度快,数据可以共享(多个变量指向相同内容的地址空间),节省内存空间,但缺点是数据类型在Bu原创 2020-11-20 21:18:28 · 201 阅读 · 2 评论 -
定时器(Timer)的讲解
一:如何使用自定义一继承于TimerTask的类,并重写其run()方法即可。也可以采取匿名类的形式,直接重写其run()方法。二:方法TimeTask有一抽象方法run(),其作用就是用来放我们处理的逻辑任务。Timer有一schedule()方法,重载参数和另外两个方法如下表:重载方法/常用方法作用schedule(TimerTask task, Date time)执行task一次,执行时间为timeschedule(TimerTask task, Date fi原创 2020-11-13 20:27:35 · 4552 阅读 · 0 评论 -
工厂模式 Java实现
一:产生背景过于频繁的使用new关键字来创建对象,当工程过于庞大,需要修改时,这时极有可能“牵一发而动全身”,与面向对象的基本原则相违背。使用工程模式后,将代码细节封装起来,对外只暴露关键部分,将重复部分封装为一个接口,从而达到面向对象的要求。二:工程简览说明:以下工程包括如下部分:文件名作用FlightFactory工程模式,用来获取战斗机对象的关键Flight战斗机接口,有一个抽象方法fire()FlightProduce用来测试生产战斗机的类J10原创 2020-11-13 12:13:43 · 247 阅读 · 0 评论 -
Java之泛型简单理解
Java之泛型简单理解前言:初学者在学习java等OOP语言时,其基础语法部分不再是难题,取而代之的是某语言独有的部分,在java上例如泛型、集合、反射等概念。那么针对于泛型,初学者面对其不太常见的语法规则,复杂的参数类型,和拗口的定义等,带来了很大学习、理解方面的问题。本文将浅显地、通俗地、扼要地谈谈泛型的理解。定义:先看看学术上的定义:其本质是参数化类型,也就是说所操作的数据类型被指定为一个参数(type parameter)这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接原创 2020-11-10 21:50:05 · 205 阅读 · 0 评论