java
文章平均质量分 54
29DCH
In me the tiger sniffs the rose.
展开
-
Java多线程异步处理REST服务
1.使用Runnable异步处理REST服务package com.ljq.web.async;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.w...原创 2018-12-22 16:15:52 · 780 阅读 · 0 评论 -
java插入排序可视化
直接上代码和效果图:AlgoFrame.javapackage Test;import java.awt.*;import javax.swing.*;public class AlgoFrame extends JFrame{ private int canvasWidth; private int canvasHeight; public AlgoFr...原创 2018-11-25 16:18:30 · 379 阅读 · 1 评论 -
java选择排序可视化
直接上代码以及效果:AlgoFrame.javapackage Test;import java.awt.*;import javax.swing.*;public class AlgoFrame extends JFrame{ private int canvasWidth; private int canvasHeight; public AlgoFr...原创 2018-11-25 15:19:55 · 341 阅读 · 0 评论 -
随机模拟算法--分钱模拟问题可视化
详情见 http://www.sohu.com/a/159448526_499017最近在知乎上看到一个很有趣的问题:房间里有100个人,每人都有100元钱,他们在玩一个游戏。每轮游戏中,每个人都要拿出一元钱随机给另一个人,最后这100个人的财富分布是怎样的?这很显然是个概率问题,一般人凭直觉都会认为最后的财富分布每个人是相差不多的,但其实这个问题正好可以反映当下社会贫富差距的问题,这也告诉我...原创 2018-11-24 15:08:16 · 686 阅读 · 0 评论 -
java String类的intern方法总结
java八大类型和String类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念。常量池就类似一个JAVA系统级别提供的缓存.1.直接使用双引号声明出来的String对象会直接存储在常量池中。2.如果不是用双引号声明的String对象,可以使用String提供的intern方法。intern 方法会从字符串常量池中查询当前字符串是否存在,若不存在就会将当前字符串放入常量池...原创 2018-09-26 23:32:41 · 268 阅读 · 0 评论 -
Java 8 Lambda表达式
Lambda 表达式,也可称为闭包,是Java8的新特性Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用 Lambda 表达式可以使代码变的更加简洁紧凑。语法格式:(parameters) -> expression或(parameters) ->{ statements; } Java8Tester.javapublic c...原创 2018-09-14 13:51:24 · 209 阅读 · 0 评论 -
java学习路线
对刚开始学习java的同学来说,还是图片来的直观,我直接上图吧.希望给正在学习java的同学指出系统完整的学习路线,从而扎实掌握这门语言,并且能够做出好的项目,做到真正地应用和实践!用的图是实验室以前做的大纲,感觉挺好的, 一套流程下来,JAVA知识点巩固得更深了,再加上做了一个javaweb前后端分离的项目,那之后我就开始转做python项目和学Scala了,java的学习先告一...原创 2018-09-16 19:52:34 · 535 阅读 · 0 评论 -
java 简单的UDP通讯小程序
详细的与UDP有关的知识这里就不说了,可以参考我的博客------java网络编程总结里面的UDP通讯知识直接上代码:import java.awt.BorderLayout;import java.awt.Button;import java.awt.Color;import java.awt.Font;import java.awt.Frame;import java.aw...原创 2018-09-03 22:36:47 · 671 阅读 · 0 评论 -
java网络编程总结
计算机网络 * 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程 * 就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。网络编程三要素:1.IP* 每个设备在网络中的唯一标识* 每台网络终端在网络中都有一个独立的地址,我...原创 2018-09-03 22:42:34 · 202 阅读 · 0 评论 -
java设计模式之适配器模式
* 在使用监听器的时候, 需要定义一个类事件监听器接口. * 通常接口中有多个方法, 而程序中不一定所有的都用到, 但又必须重写, 这很繁琐. * 适配器简化了这些操作, 我们定义监听器时只要继承适配器, 然后重写需要的方法即可. 适配器原理: * 适配器就是一个类, 实现了监听器接口, 所有抽象方法都重写了, 但是方法全是空的. * 适配器类需要定义成抽...原创 2018-09-03 20:54:01 · 146 阅读 · 0 评论 -
java设计模式之工厂模式
1.简单工厂模式概述 * 又叫静态工厂方法模式,它定义一个具体的工厂类负责创建一些类的实例优点 * 客户端不需要在负责对象的创建,从而明确了各个类的职责缺点 * 这个静态工厂类负责所有对象的创建,如果有新的对象增加,或者某些对象的创建方式不同,就需要不断的修改工厂类,不利于后期的维护AnimalFactory.javapublic class AnimalFa...原创 2018-09-03 20:04:03 · 134 阅读 · 0 评论 -
java归并排序可视化
1.自顶向下AlgoFrame.javapackage Test;import java.awt.*;import javax.swing.*;public class AlgoFrame extends JFrame { private int canvasWidth; private int canvasHeight; public AlgoFrame...原创 2018-11-26 18:10:54 · 685 阅读 · 0 评论 -
java快速排序可视化
AlgoFrame.javaimport java.awt.Graphics2D;import java.awt.Graphics;import java.awt.Dimension;import java.awt.Color;import java.awt.RenderingHints;import javax.swing.*;public class AlgoFrame ex...原创 2018-11-26 21:01:19 · 661 阅读 · 0 评论 -
SpringBoot整合MyBatis完成数据获取
SpringBoot我就不详细介绍了,约定大于配置,上手十分简单,开发快速简洁且功能强大。MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Object...原创 2018-12-16 19:27:32 · 1054 阅读 · 0 评论 -
springboot系列技术教程目录
转载自LuisChen的博客 https://blog.csdn.net/Winter_chen001/article/details/80537829目的是为了帮助大家更好的学习springboot这个框架springboot2.X系列:springboot整合mybatis 使用HikariCP连接池springboot Mybatis 整合springboot ...转载 2018-12-16 11:54:35 · 326 阅读 · 0 评论 -
SpringBoot整合Spring Data JPA(包含分页、排序操作)完成数据获取
Spring Data JPA是Spring基于Hibernate开发的一个JPA框架。如果用过Hibernate或者MyBatis的话,就会知道对象关系映射(ORM)框架有多么方便。但是Spring Data JPA框架功能更进一步,为我们做了 一个数据持久层框架几乎能做的任何事情。这里总结一下我的整合流程的一个简单例子详细代码见我的github仓库 https://github.com/2...原创 2018-12-16 11:24:56 · 1055 阅读 · 0 评论 -
记Google的一道面试题(java) Beautiful Numbers
Beautiful Numbers思路:13->三进制->11111+13+133=1313%3=1,13/3=44%3=1,4/3=11%3=1,1/3=01.第一种情况:数据范围比较小代码:package test;import java.io.BufferedReader;import java.io.InputStreamReader;import...原创 2018-12-09 22:59:29 · 505 阅读 · 0 评论 -
java swing实现的扫雷游戏
详细代码见我的相应github仓库:https://github.com/29DCH/Mine-Sweeper欢迎fork源码到你自己的仓库下面。效果图:java swing实现的扫雷游戏,实现了基本逻辑.主要用到了floodfill(漫水填充)算法和knuth-shuffling-algorithm(Fisher–Yates也被称作高纳德(Knuth)随机置乱算法,随机洗牌算法)代码...原创 2018-12-09 15:51:26 · 746 阅读 · 0 评论 -
java日志产生器开发并结合log4j完成日志输出到控制台以及flume中
首先搭建一个maven项目,在项目的test测试文件夹下面新建一个java文件夹和resources文件夹,并标记化然后在java文件夹下面新建LoggerGenerator.java文件import java.util.logging.Logger;/** * 模拟日志产生 */public class LoggerGenerator { private static ...原创 2018-12-03 21:45:50 · 502 阅读 · 0 评论 -
采用BFS(队列)实现走迷宫问题的可视化
详细代码见我的相应github仓库:https://github.com/29DCH/Walking-the-maze欢迎fork源码到你自己的仓库下面。效果图:代码:AlgoFrame.javapackage Test;import java.awt.*;import javax.swing.*;public class AlgoFrame extends JFrame...原创 2018-12-01 16:59:17 · 746 阅读 · 0 评论 -
采用非递归(栈)实现走迷宫问题的可视化
效果图:代码如下:AlgoFrame.javapackage Test;import java.awt.*;import javax.swing.*;public class AlgoFrame extends JFrame{ private int canvasWidth; private int canvasHeight; public AlgoF...原创 2018-12-01 16:22:13 · 425 阅读 · 0 评论 -
采用DFS实现走迷宫问题的可视化
详细代码见我的相应github仓库:https://github.com/29DCH/Walking-the-maze欢迎fork源码到你自己的仓库下面。效果图:直接上代码:AlgoFrame.javapackage Test;import java.awt.*;import javax.swing.*;public class AlgoFrame extends JFra...原创 2018-12-01 15:11:45 · 820 阅读 · 0 评论 -
java堆排序可视化
import java.awt.*;import javax.swing.*;public class AlgoFrame extends JFrame{ private int canvasWidth; private int canvasHeight; public AlgoFrame(String title, int canvasWidth, int ca...原创 2018-11-26 21:27:10 · 562 阅读 · 2 评论 -
java设计模式之单例模式
单例设计模式:保证类在内存中只有一个对象。 * (1)控制类的创建,不让其他类来创建本类的对象。private * (2)在本类中定义一个本类的对象。Singleton s; * (3)提供公共的访问方式。 public static Singleton getInstance(){return s}1,私有构造方法,其他类不能访问该构造方法了2,声明一个引用3,对外提供...原创 2018-09-03 15:45:17 · 130 阅读 · 0 评论 -
java 多线程总结
线程是程序执行的一条路径, 一个进程中可以包含多条线程多线程并发执行可以提高程序的效率, 可以同时完成多项工作多线程并行和并发的区别* 并行就是两个任务同时运行,就是甲任务进行的同时,乙任务也在进行。(需要多核CPU)* 并发是指两个任务都请求运行,而处理器只能按受一个任务,就把这两个任务安排轮流进行,由于时间间隔较短,使人感觉两个任务都在运行。例如,图A为进程的并发性,图B为...原创 2018-09-03 12:44:06 · 165 阅读 · 0 评论 -
约瑟夫环问题java实现
约瑟夫环问题描述(改了一下背景,题目思想一致):编号为1,2,3...n的人一词围成一圈,从第k个人开始报数(从1开始),数到m的人退出。接着下一个人又从1开始报数,数到m的人退出,以此类推。问:剩下的人的编号是多少?样例1输入831输出7样例2输入631输出1import java.util.ArrayList;import ja...原创 2018-09-02 22:30:18 · 1141 阅读 · 0 评论 -
2018阿里巴巴秋招java笔试题做题记录
一、单项选择题 1、以下函数的时间复杂度是 ( ) void func(int x,int y, int z){ if(x<=0) printf(“%d, %d\n”, y, z); else { func(x-1,y+1,z); func(x-1,y,z+1); } } 求递归函数的时间复杂度,借助栈来存储。 A.O(x*y*z) B.O(x^2*y...原创 2018-06-13 11:44:43 · 5835 阅读 · 0 评论 -
用java Map集合和框架Collections工具类模拟斗地主的几个过程
java用集合模拟斗地主洗牌和发牌,看牌(要排好序)等过程排序图解:1.0(未排序)import java.util.ArrayList;import java.util.Collections;public class Test { /** * 分析: * 1,自己创建一个集合对象,将扑克牌存储进去 * 2,洗牌 * 3,发牌 * 4,看牌 *...原创 2018-08-31 15:36:30 · 232 阅读 · 0 评论 -
java Map集合总结
java这些集合的方法会很多,可能难以记下来,所以要学会查API文档,多查多用,才能熟悉和灵活运用。遇到不会的类或者方法什么的一定要查API文档,对java学习来说这是非常重要的学习方法。大二已经学完java的知识了,这些天统一整理总结一下,这次来归纳一下Map集合的知识。Map: * 将键映射到值的对象 * 一个映射不能包含重复的键 *...原创 2018-08-31 11:26:08 · 402 阅读 · 0 评论 -
java equals方法重写和hashcode方法总结
JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地址,但在一些类库当中这个方法被覆盖掉了,如String,Integer,Date在这些类当中equals有其自身的实现(重写覆盖了原来的),而不再是比较类在堆内存中的存放地址了。 equals方法,比较两个对象是否相等,比较的是地址(初始)和值...原创 2018-08-28 15:12:33 · 217 阅读 · 0 评论 -
java内部类总结
内部类概述分为成员内部类,静态内部类,局部内部类,匿名内部类内部类访问特点 * a:内部类可以直接访问外部类的成员,包括私有。 * b:外部类要访问内部类的成员,必须创建对象。 * 外部类名.内部类名 对象名 = 外部类对象.内部类对象;1.成员内部类:public class Test { public static void main(String[]...原创 2018-08-27 21:08:05 · 199 阅读 · 0 评论 -
java抽象类与接口总结
1.抽象类:抽象类特点 a:抽象类和抽象方法必须用abstract关键字修饰 abstract class 类名 {} public abstract void 方法名(); b:抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者是接口 c:抽象类不能实例化那么,抽象类如何实例化呢? 按照多态的方式,由具体的子类实...原创 2018-08-27 12:29:06 · 243 阅读 · 0 评论 -
java多态总结
简单的说就是父类引用指向子类对象.一种方法, 多种实现.规则:成员变量:编译看左边(父类),运行看左边(父类);成员方法:编译看左边(父类),运行看右边(子类,动态绑定).public class Polymorphic { public static void main(String[] args) { /*Father f = new Son(); //父类引用...原创 2018-08-26 20:59:53 · 339 阅读 · 0 评论 -
java代码块总结
在java中将代码用{}括起来的部分叫做代码块,分为局部代码块,构造代码块,静态代码块,同步代码块。局部代码块 :在方法中出现;限定变量生命周期,及早释放,提高内存利用率构造代码块 (初始化块): 在类中方法外出现;多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行静态代码块 : 在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候就执行...原创 2018-08-26 17:18:30 · 192 阅读 · 0 评论 -
阿里巴巴社招Java面试题做题记录
阿里巴巴社招Java面试题 1、String和StringBuffer的区别 运行速度和线程安全两方面: 运行速度:StringBuilder >StringBuffer >String String是字符串常量,不可变,每次改变只是创建一个新的对象,然后GC回收掉老的那个,所以执行速度最慢,另外两个是字符串对象,可变。 线程安全: StringBuilder是线程不安全的...原创 2018-06-13 22:17:12 · 3803 阅读 · 0 评论 -
java图像识别
今年软件杯有一个项目是工商图片文字提取。大致的要求就是将天猫给的50张样例图片中的企业名称和注册号提取出来。速度和准确率是这个项目的关键。 我觉得软件杯历年的项目都挺有难度的,很有挑战性。近几年由于人工智能和大数据的飞速发展,项目命题也偏向这方面而不是传统项目了。所以对于程序员来说,除了了解传统项目知识(比如java web三大框架),还要与时俱进,自主学习大数据和人工智能的前沿知识,我认为...原创 2018-06-05 12:20:07 · 15233 阅读 · 9 评论 -
java 二分查找源码分析
二分查找又称为折半查找.在数组接近有序时有很好的效率时间复杂度为O()=O(logn)注意事项: * 如果数组无序,就不能使用二分查找。 * 因为如果你排序了,但是你排序的时候已经改变了最原始的元素索引。java源码分析:import java.util.Arrays;public class Test { // Like publi...原创 2018-08-29 11:50:02 · 258 阅读 · 0 评论 -
java泛型总结
泛型的由来:通过Object转型问题引入早期的Object类型可以接收任意的对象类型,但是在实际的使用中,会有类型转换的问题。也就存在这隐患,所以Java提供了泛型来解决这个安全问题。泛型好处 * 提高安全性(将运行期的错误转换到编译期) * 省去强转的麻烦泛型基本使用 * <>中放的必须是引用数据类型 * D:泛型使用注意事项 *...原创 2018-08-29 22:23:17 · 194 阅读 · 0 评论 -
求出1000(n)的阶乘所有零和尾部零的个数
不用递归做:import java.math.BigInteger;public class Test { /** * @param args * 求出1000的阶乘所有零和尾部零的个数,不用递归做 */ public static void main(String[] args) { //所有0 demo1...原创 2018-09-02 21:46:37 · 416 阅读 · 0 评论 -
关于java文件递归的几个问题
递归调用的弊端:不能调用的次数过多(7000次左右),容易导致栈内存溢出 递归调用的好处:不用知道循环的次数 构造方法是不能使用递归的。否则无限次创造对象。 递归不一定需要返回值(类似文件夹查找(直接打印值)不需要返回值)1.从键盘接收一个文件夹路径,统计该文件夹大小import java.io.File;import java.util.Scanner;public clas...原创 2018-09-02 21:28:01 · 234 阅读 · 0 评论