自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

华安小书童的博客

成长路上的学习

  • 博客(27)
  • 问答 (2)
  • 收藏
  • 关注

原创 为什么我们开发时重写equals方法同时也要重写hashcode方法

在我们平常开发的时候,肯定会用到HashMap、HashSet等对象。所以开发的时候我们都需要重写,如果现在开发用的idea。那么他会自动提示,所以我们都要重写!

2022-11-16 15:28:59 146 1

原创 JAVA关于搜索附近功能开发探讨

Java 实现附近搜索并按距离排序

2022-09-28 17:46:48 618

原创 策略模式应用:设计三方支付

在我们日常开发中,难免会和第三方接口进行教会。拿支付来举例,我们现在的平台是使用建行支付的,但随着业务的扩增,又引入了招行支付和通联支付。在编写代码的时候,总不能增加一个三方支付就去修改自己业务实现,为此,使用策略模式设计此接口。详见代码。支付类型枚举package cn.zxw.strategy;/*** @author 华安小书童* @description 支付类型* @data: 2022/01/14 20:42*/public enum PayType { /** .

2022-01-17 17:05:29 315

原创 RedisGEO实现附近搜索功能

公司最近来了一个新项目,做小程序招聘。其中有一个需求是实现附近岗位推荐。由于用户量不大,决定采用redis来实现。之前没有接触过。现在用来记录一下。(redis必须使用3.2及以上版本)先说一下大概流程。将职位ID和经纬度存入redis中。每当添加职位时就增加一条信息。当用户点击附近时,通过用户的经纬度来查询它对应的职位id,这样就可以关联起来查询出职位信息返回用户给予展示。项目采用的spring cloud Alibaba全家桶,就不写它的maven依赖,只编写redis相关引入redis依.

2021-10-26 17:54:41 685

原创 测试MYSQL有无索引的查询速度

测试环境的电脑配置:Intel® Core™ i5-7500 CPU @ 3.40GHz 3.40 GHz,内存16G.mysql的版本为:5.7.24。准备建表语句CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) DEFAULT NULL, `password` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) .

2021-10-25 11:20:34 308

原创 Java实现多级菜单编写

最近换了一家公司,不在是外包公司。由于是做自己产品的,发现开发流程和业务和之前的完全不一样。第一个任务是多级菜单的编写,对于大多数Java开发来讲,这都是一个再平常不过的功能了,由于原来业务性质原因,并没有做过,为此自己也通过查阅博客,完成了该功能,慢慢进步学习。记录一下,方便日后查阅,如果有博友发现有更好的功能,欢迎留言给我,我也学学。编写的多级分类的主要功能有:树状结构查询所有查询单极分类批量操作(只写了批量显示,其它的同理)同级目录中上下移动操作新增分类说明一下,由于不是单.

2021-01-31 20:13:08 3156 2

原创 数组按照要求分段,并求出每段的所占比例

前段时间项目中有一个这样的需要,0到360.这些角度要以0-4、2-6、4-8…350-354、352-356、354-358这样的规律之下分段,并且求出哪一段出现的比重最多,并求出最多那块的平均值。也许写法比较low,欢迎大家来指正。/** * 0~360以0到4,2到6,6到10一直到356到360,358到362这样分成120个区间 * 一个装有若干个数据的集合,算出该集合中数据在各个区间分布的次数情况 * 求出最多区间的平均值 */ private

2020-08-31 21:39:45 663

原创 Java中数组和集合的排序

在我们平常的开发的,对数组或集合的排序操作,比如说电商项目商品页面,根据价格排序。或者我们其它业务当中需要对对象的某一个属性来进行正序或者倒叙的排序。下面记录下用JDK自带的方法来进行快捷的排序。数组内进行的排序private static void arrNumSort() { int[] arr = new int[1000]; Random random = new Random(); for (int i = 0; i < 1000; i++) {

2020-06-04 16:00:26 267

原创 Java如何关闭线程

大家都知道Thread类的stop方法已经为过期方法,下面提供一个优雅关闭线程的方法和强制关闭线程的方法。Worker和Thread类的test2方法是测试优雅关闭,另外一个是强制关闭。Workerpackage cn.zxw.test.thread;/*** @author 华安小书童* @description 通过标识关闭线程* @data: 2020/4/1 11:50*/...

2020-04-01 21:13:58 756

原创 Java面试复习框架篇

本文章会持续更新,建议收藏!!!Java面试复习手册(框架篇)springspring概述使用Spring框架的好处是什么?答:解耦合,简化开发。spring为我们提供IOC容器,可以将对象之间依赖关系交给spring来管理,用户不再为单列模式、属性文件解析等一些底层操作写代码,专注到业务开发上。对AOP编程的支持,好多不适用于OOP编程的地方可以使用AOP轻松完成。声明式事务...

2020-03-28 22:19:33 163

原创 SpringBoot集成netty在项目中的应用

最近做的这个项目,需要和服务端进行tcp通信。大概的需求是这样,服务端是物理硬件,由c++代码控制,后台和机器通过tcp进行通信。当前台输入数据给后台之后,后台作为客户端给服务端发送数据,返回给后台,后台通过websocket将数据不停的发送到前台。下面记录一下后台作为客户端发送给机器的部分。netty的客户端package cn.zxw.netty.work;import io.net...

2020-03-15 20:51:40 1617 1

原创 Java面试

本文章会持续更新,建议收藏!!!Java面试复习手册Java基础篇java中==和equals和hashCode的区别?答:在基本类型中 == 比较的是值,而在引用类型中 == 比较的是地址值。equals在引用类型中,重写它的方法比较的是对象属性的内容,如果不进行重写是和 == 一样的。hashCode返回一个数值,就是hash码。int与integer的区别?答:int为基本类型,i...

2020-03-15 11:49:58 134

原创 WIN10美化桌面

说到美化桌面这方面,每一个人都有自己的想法。没有最好,只有最适合。由于自己有强迫症这一点,所以我的方案是适合强迫症的。废话不多说,先上桌面截图吧:下面说下步骤:由于有强迫症,所以桌面一定要干净。容不得有半点沙子。首先就是右击→个性化→主题→桌面图标设置。然后将我的电脑、回收站等图标都关闭显示。并且快捷方式也不要在桌面上设置。接下来就是任务栏,我的习惯是不使用时就把他隐藏掉。在任务栏...

2020-03-12 22:03:14 698

原创 Java阻塞队列

定义:当队列超过定义的大小时,会禁止(阻塞)插入数据,直至队列数据不满;当队列中没有数据时,会禁止(阻塞)数据弹出,直至数据有数据。Java中常见的阻塞队列:ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue等手写一个简单的阻塞队列package cn.zxw.test;import java.util.Stack;/** * @aut...

2020-03-12 22:01:12 119

原创 基于netty实现多个客户端和服务端进行通信

在netty的实际使用中,会经常有多个客户端和服务器进行连接的情况。另外,由于netty的客户端和服务端是进行的长连接,所以也需要客户端和服务端进行心跳的传递,今天学习完这块内容后,跟着视频写了个demo。大致就是多个客户端与服务端建立连接之后,服务端已广播的形式给客户端发送消息。下面先写服务端相关代码自定义的处理器package cn.zxw.netty.third_chat.server...

2020-03-03 16:25:46 5302 4

原创 Netty的HelloWorld的小DEMO

工作中经常用到网络编程,学到这一块就不得不提netty这个框架。下面就写一个helloworld的小demo来记录一下。服务器类package cn.zxw.netty.first;import io.netty.bootstrap.Bootstrap;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.C...

2020-03-02 14:46:06 208

原创 SpringBoot整合RabbitMq后实现消息传输

今天通过学习mall商城的订单下单之后如果未进行付款之后,到达一定时间后将产生的进行取消。跟着学习,也跟着写个demo。记录一下。编写之前要保证自己的电脑已经安装了erlang和rabbitMq。并且能正常启动。如果不了解前面过程,可以先点击mall商城后观看一遍,进行编写。添加maven依赖 <dependency> <groupId>...

2020-02-25 20:37:29 313

原创 使用springboot基于redis实现获得手机验证码之后进行对比demo

在项目中使用redis的用处有很多。通常使用次数最多的就是把经常查询的数据存入到redis中,这样提高了效率,也缓解了数据库的压力。今天基于redis。写一个手机验证码之后进行对比的demo。多学知识,慢慢让自己强大起来!测试项目之前,首先要保证自己的redis的服务端已经正常开启。下面开始编码:POM文件引入依赖 <!--redis依赖配置--> <de...

2020-02-24 21:25:50 324

原创 Java求出集合中数据在指定区间分成指定份数后,每份数据出现的次数

前段时间在工作中遇到了一个这样的问题,硬件设备会不停给后台一个返回byte数组数据,后台经过封装将byte数组转成double类型的数组。之后需要通过这个数组的数据100到500之间分成20份后,double数组里的数据在每个区间出现的次数。举个例子: int[] arr = {3,5,7,8,10,15,17,20,28,35,40,45,48}; 按以上要求,...

2020-02-24 14:58:01 789

原创 JavaWeb项目编程规范

工作中编码的规范,以后需要按照这样的要求去写。编码之前首先要按照阿里巴巴的开发规范去写,如果是使用的idea要使用其插件。在使用springmvc的情况下最好使用以下样式去定义路径: @RequestMapping(value = "/update/{id}", method = RequestMethod.POST)在基于springboot或springMvc的情况下,再con...

2020-02-24 11:19:20 427

原创 Java两个线程交替打印奇数和偶数

今天看到这个面试题后满脑子想的都是必须得用加锁,通信才可以完成的。发现走了不少弯路。直接上代码,面试用。package com.macro.mall.demo.test.thread.productconsumer;import java.util.concurrent.atomic.AtomicInteger;/** * @author zxw * @version 1.0 * ...

2020-02-21 20:40:13 782 1

原创 Java里File类操作,递归遍历文件夹,复制文件夹,文件分块后再合并文件

在Java面试中File的笔试题很多。出镜率比较高的是递归遍历文件夹。其次在有的项目里,文件过大,需要进行文件分块后再进行合并。也写了一个简单的操作。遍历文件夹顺便也取出文件夹里最大文件以及最小文件。记录一下。码上package com.macro.mall.demo.test.io;import java.io.File;import java.io.FileInputStream;i...

2020-02-20 20:42:51 274

原创 Java面试,创建一个随机字符串数组,并输出这个随机字符串数组的重复元素

今天在看面试题的时候,看到了这样的题。做一遍后记录下来方便再次查阅。如果有更好的答案欢迎大家来解答。码上package com.macro.mall.demo.test.work;import java.util.Arrays;/** * @author zxw * @version 1.0 * @description 随机字符串数组求重复数据 * @data: 2020/2/...

2020-02-20 15:22:07 1049

原创 Java实现数组排序(选择排序和冒泡排序)以及线程安全的单例模式

有时候面试时,出的笔试题需要让自己手写数组的排序。虽说自己写的没有什么效率,应用大多数面试应该没问题,写博客记录一下,以后复习用(一个慢慢入坑的码农)。package com.macro.mall.demo.test.math;import java.util.Arrays;/** * @author zxw * @version 1.0 * @description 数组排序 ...

2020-02-18 19:07:40 301

原创 springboot集成mybatis后实现事务管理

JavaWeb开发中现在基本上都是采用springboot开发。自己在学习springboot中进行个小练习。公司项目都是采用mybatisplus进行开发的。此次练习也为了让自己对springboot集合mybatis再次温故一下。期间果真出现了不少问题(多加练习)。记录下来学习的过程。上代码!POM.xml(推荐加上检测xml的依赖)<?xml version="1.0...

2020-02-16 17:31:26 583

原创 SpringBoot工程实现AOP的Demo,适用于日志记录

背景 在工作中需要在controller里记录日志以及前台传递来的参数等,如果每个controller都需要使用slf4j去记录的话,会显得代码太冗余。因此使用aop来解决此问题。话不多说,直接上代码!POM文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/...

2020-02-15 22:15:58 248

原创 Java基于Lock锁来实现生产者消费者

自己基于网上内容改编了一个,防止以后面试找不到上传一份。里面主要由生产者先进行生产10个物品之后,消费者开始消费。消费者消费一次用2秒,生产者生产一份需要1秒。生产者代码package com.macro.mall.demo.test.thread.productconsumer.lock;import java.util.LinkedList;import java.util.conc...

2020-02-12 21:04:28 579 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除