java
Bruce-Shen
这个作者很懒,什么都没留下…
展开
-
java 深浅拷贝解析和实现实例
1、引用拷贝:拷贝的是引用,但是源和复制都指向同一个对象2、浅拷贝:源和复制的所有变量值都相同,但是仅仅拷贝的是源对象,源对象里的引用所指向的对象并没有被拷贝。3、深拷贝:深拷贝会拷贝源对象的所有属性,并拷贝属性指向的动态分配的内存,也就是说拷贝源对象以及源对象里引用所指向的对象。示例代码:1、教师类:package clone;import java.io.Serializable;public class Teacher implements Cloneable,Se.原创 2021-01-11 11:51:54 · 231 阅读 · 0 评论 -
超实用的多线程future模式实例
编码过程中经常会遇到多线程的协同合作场景,也就是说某个线程依赖于另一个线程的返回,而大家都知道线程的run方法是没有返回值的,如何解决线程返回的问题呢,当然可以通过线程的join方法等待,然后通过调用线程的成员变量来获取结果(前一批文章中有实例),但是更好的解决办法是future模式。以下是实例:1、定义作业线程:package design.pattern.future;import java.util.Random;import java.util.concurrent.Callable;i原创 2020-12-31 16:09:33 · 514 阅读 · 0 评论 -
java 工厂模式实现实例
工厂模式的作用:1、工厂模式是为了解耦,把对象的创建和使用的过程分开2、创建对象过程统一管理实现实例(工厂生产产品):1、工厂接口:package design.pattern.factory;/** * 产品工厂接口 */public interface BaseProductFactory { BaseProduct createProduct();}2、产品基类package design.pattern.factory;/** * 产品基类 */pub原创 2020-12-29 18:43:44 · 875 阅读 · 1 评论 -
带返回的线程使用实例
线程是异步的,如何获取线程的返回结果?可通过join方法定义一个接口:package thread;import java.util.List;public interface FightQuery { List<String> get();}接口实现类:package thread;import java.util.ArrayList;import java.util.List;import java.util.Random;import java.uti原创 2020-12-28 09:30:55 · 113 阅读 · 0 评论 -
用数组中的元素拼接出最小的数
对于数组中的所有元素,存在这多种拼接组合,如{123,23},拼接可以是12323或者23123,其中12323是最小的。代码实现求最小拼接。import java.util.*;public class 拼接出最小数字 { /** * @param args */ public static void main(String[] args) {原创 2017-09-07 20:01:29 · 1018 阅读 · 0 评论 -
Java实现二叉树的先序、中序、后序、层次遍历,数的最大深度、最大宽度
遍历、求最大深度、最大宽度的代码package binaryTreeTest;import java.util.Queue;import java.util.Stack;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.LinkedBlockingQueue;public class Trave原创 2017-09-07 17:16:20 · 395 阅读 · 0 评论 -
简洁的快速排序
提供一个比较简介的快排代码import java.util.Random;public class QuickSort { //递归 static void quicksort(int n[], int left , int right) { int dp ; if (left < right) { dp = pa原创 2017-09-07 17:08:17 · 239 阅读 · 0 评论 -
Oracle数据库分页查询语句与优化
回顾了之前做的项目,看到查询分页功能,发现有可以优化的地方。 总的来说优化过程有三个阶段: 一、 select * from (select A., rownum rn from (select from table_name)A) where rn between 21 and 40; 这条分页查询语句最为简单,也很好理解,原创 2017-09-07 16:12:53 · 2032 阅读 · 0 评论 -
详解JSONObject和JSONArray区别及基本用法(转载)
一、JSONObject和JSONArray的数据表示形式JSONObject的数据是用 { } 来表示的, 例如:{ "id" : "123", "courseID" : "huangt-test", "title" : "提交作业", "content" : null }而JSONArray,顾名思义是由JSONObject构成的数组,用 [ { } ...转载 2019-07-01 12:44:30 · 813 阅读 · 0 评论