自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zw沐知的博客

一个初入职场的程序员小白,主要专注于JavaWeb开发,希望在这里记录自己的成长 个人博客地址:http://www.zwmuzhi.cn/

  • 博客(32)
  • 资源 (2)
  • 收藏
  • 关注

原创 【JAVA】当前日期取前一天

Calendar cal = Calendar.getInstance();//使用默认时区和语言环境获得一个日历。cal.add(Calendar.DAY_OF_MONTH, -1);//取当前日期的前一天.cal.add(Calendar.DAY_OF_MONTH, +1);//取当前日期的后一天

2021-01-12 11:18:09 257

转载 【常用配置】代码包结构

先看看阿里是怎么约定的一般分为如下几层开放接口层-终端显示层Web 层Service 层Manager 层DAO 层外部接口或第三方平台通常的项目结构项目根目录/src/main/java:放置项目Java源代码项目根目录/src/main/resources:放置项目静态资源和配置文件项目根目录/src/test/java:放置项目测试用例代码位于/src/main/java目录下的Java源代码的组织结构大家比较关心各个目录详细介绍:|_annotation:

2021-01-06 17:55:26 620

转载 【常用配置】日志配置

日志配置日志,通常不会在需求阶段作为一个功能单独提出来,也不会在产品方案中看到它的细节。但是,这丝毫不影响它在任何一个系统中的重要的地位。为了保证服务的高可用,发现问题一定要即使,解决问题一定要迅速,所以生产环境一旦出现问题,预警系统就会通过邮件、短信甚至电话的方式实施多维轰炸模式,确保相关负责人不错过每一个可能的bug。预警系统判断疑似bug大部分源于日志。比如某个微服务接口由于各种原因导致频繁调用出错,此时调用端会捕获这样的异常并打印ERROR级别的日志,当该错误日志达到一定次数出现的时候,就会触

2021-01-06 17:02:07 2393

原创 tomcat重启shell脚本

参考文章:https://www.cnblogs.com/taiguyiba/p/7487258.htmltomcat 重启shell#!/bin/sh#kill and restart tomcatname=tomcatpidlist=`ps -ef | grep $name | grep -v "grep" | awk '{print $2}'`function stop(){if [ "$pidlist" == "" ]thenecho "----$name 已经关闭----"ex

2020-12-11 11:46:47 267

原创 【常用配置】JAVA全套开发环境配置

后端JdkMavenIdeaMySqlDateGripGitXShell常用Atom前端VsCode

2020-12-05 18:07:47 139

转载 【DDD】《如何运用领域驱动设计》汇总

https://www.cnblogs.com/uoyo/p/12167224.html

2020-12-05 17:41:39 166 1

原创 【配置记录】nginx负载均衡配置

#user nobody;worker_processes 16;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections 10240;}http { include mime.types; inc.

2020-12-05 17:37:08 75

原创 【Spring Colud】(四)Eureka复习及集群搭建

基础组件Eureka包含两个组件Eureka ServerEureka Server 提供服务注册微服务启动之后,会在Eureka Server中进行注册,这样Eureka Server会存储该服务节点的信息,服务节点的信息可以在界面中看到。Eureka ClientEureka Client 通过注册中心进行访问是一个JAVA客户端,用于简化Eureka Server的交互,客户端包含一个内置的负载均衡器,默认使用的是轮循的方式。在应用启动后,将会像Eureka Server发送心跳(默认

2020-11-26 15:38:01 102

原创 【Spring Colud】(小练习)负载均衡算法原理及实现

手写负载均衡算法参照Ribbon的轮循算法编写一个自己的负载均衡算法源码:public class RoundRobinRule extends AbstractLoadBalancerRule { private AtomicInteger nextServerCyclicCounter; private static final boolean AVAILABLE_ONLY_SERVERS = true; private static final boolean ALL_S

2020-11-26 15:35:05 138 1

原创 【Spring Colud】(三)消费者订单模块

(三)消费者订单模块model创建及pom依赖导入同支付模块远程调用此时模拟消费者订单模块,所以设置启动端口为80,需要在内部去调用8001支付模块的功能,所以需要用到跨模块调用可以使用httpClient来实现,此处使用封装了HttpClient功能的RestTemplate来实现RestTemplate原文地址Spring Boot 提供了 RestTemplate 来辅助发起一个 REST 请求,默认通过 JDK 自带的 HttpURLConnection 来作为底层 HTTP 消息的发

2020-11-22 21:27:08 153

转载 【转载】springboot实现热部署

1. 前言在实际开发过程中,每次修改代码就得将项目重启,重新部署,对于一些大型应用来说,重启时间需要花费大量的时间成本。对于一个后端开发者来说,重启过程确实很难受啊。在 Java 开发领域,热部署一直是一个难以解决的问题,目前的 Java 虚拟机只能实现方法体的修改热部署,对于整个类的结构修改,仍然需要重启虚拟机,对类重新加载才能完成更新操作。下面我=我们就看看对于简单的类修改的热部署怎么实现。2. 原理深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方

2020-11-14 14:19:25 113

原创 【Spring Colud】(二)系统骨架搭建

新建项目New Project选择 Maven (通过模板创建项目)填写项目信息选择Maven配置 不要使用IDEA自带的MavenPOM文件修改打包方式修改为pom,默认为jar删除src文件由于该工程为父工程,只是用来定义包依赖的版本等问题,并不牵扯实际开发,所以删除src文件添加统一jar包版本管理<!-- 统一jar包版本管理--><properties> <project.build.sourceE

2020-11-05 16:00:33 142 2

原创 【Spring Colud】(一)版本选择及基础概念

分布式和微服务的区别分布式是部署层面,微服务是设计层面同一服务器部署多个服务是微服务架构,每个服务单独部署一个服务器进行交互是分布式系统Spring Boot 和 Spring Cloud版本选择两者有强制性版本关联,详见官网Adding Spring Cloud To An Existing Spring Boot Application If you an existing Spring Boot app you want to add Spring Cloud to that app,

2020-11-03 18:20:39 152 2

原创 Map存储的是引用地址

Map存储的是引用地址场景在做一个短信的发送分组,超过100000个号码需要对号码文件进行拆分,思考了一下,觉得可以遍历一次文件,利用Map<Integer, List>存储号码,key为分组标记值,value为号码列表。问题在创建List时,放在了while的外面,相当于只创建了一次对象 BufferedReader reader = getBufferedReader(filePath); List<String> mobileList =

2020-10-14 15:40:11 1728

原创 领域驱动设计笔记(一:关于登陆的思考)

领域驱动设计笔记(一:关于登陆的思考)参考文章代码精进之路:从码农到工匠 作者 张剑飞运用四色建模法进行领域分析怎么才能保证建模的正确性?​ 这个问题确实值得思考,但是作为接受辩证论教育的我们,应该知道,没有绝对正确的事,立场角度不同,评判的结果也就不同。那么有没有什么是可以暂时不变的?先想一下我们做项目的首要目的是什么?项目开发的主要目的​ 笔者认为,项目的主要目的是为了完成需求。不管是个人项目,还是企业级的项目,一开始的首要目的就是功能(需求)的实现,其余的一些问题,比如并

2020-10-12 23:46:06 313 2

原创 【文章整理】一文看懂Cola架构和DDD

Cola框架学习偶然了解到cola这个框架(也是架构),接触到了DDD的思想, 为了理解代码,搜阅了很多文章,发现没有一篇能讲的通彻的,因为其中其实牵扯到很多知识,所以将各个方面的内容做了一个汇总,方便学习。所引用文章路径已经标明,如有侵权,还请联系作者删除采集参考文章:领域驱动架构(DDD)建模中的模型到底是什么领域驱动设计系列 (六):CQRS复杂度应对之道 - COLA应用架构应用架构COLA 2.0应用架构之道:分离业务逻辑和技术细节对于单表模式的反思单表功能做多了最容易犯错的地

2020-09-25 15:39:29 20192 7

转载 Spring Cloud Alibaba 7 训练营(第一天)

前言近些年随着云技术的发展,越来越多的用户选择使用云技术来代替将传统的 IT 基础设施。在云技术发展的早期,业界的关注点集中在虚拟化、分布式、存储等 Iaas 方面的技术。但是随着“云原生”概念的提出,大家的注意力开始转移到如何构建更加适合云环境运行的应用上来。“什么样的架构才是适合在云环境中运行”是一个非常大的问题,在此先不展开讨论,而是到 CNCF 对云原生的定义中寻找答案:云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务

2020-09-24 10:49:51 571 1

原创 Mysql 追加字符串

使用CONCAT()函数mysql向表中某字段后追加一段字符串(field为字段名):update table_name set field=CONCAT(field,‘str’,)mysql 向表中某字段前加字符串update table_name set field=CONCAT(‘str’,field)/** * tag_path 为字段名称 * "/business/demo" 为追加字符串 */UPDATE bigdata_tag set tag_path = CONCAT("/

2020-09-21 15:03:04 1583

转载 【JDK源码】(一)源码环境搭建

参考视频:B站 Java源码盘起来!演示搭建JDK源码阅读环境,利用IDEA搭建Java源码阅读环境视频教程

2020-08-07 16:43:51 644

转载 【Java基础】自定义注解

转自:https://www.cnblogs.com/liaojie970/p/7879917.htmljava用 @interface Annotation{ } 定义一个注解 @Annotation,一个注解是一个类@Override,@Deprecated,@SuppressWarnings为常见的3个注解。注解相当于一种标记,在程序中加上了注解就等于为程序加上了某种标记,以后,JAVAC编译器,开发工具和其他程序可以用反射来了解你的类以及各种元素上有无任何标记,看你有什么标记,就去干相.

2020-08-04 21:49:22 121

原创 【每日LeetCode】3.无重复字符的最长子串

题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。  请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是

2020-07-09 21:27:33 74

原创 【每日LeetCode】2.两数之加

题目给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807答案解题思路其实这题就是考察链表的操作。一开始[5][5

2020-07-07 16:17:09 91

原创 【每日LeetCode】1.两数之和

题目给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]答案解题思路最先想到的就是暴力解法,不断的取出当前下标后面的值,与当前值进行相加,即双重循环。时间复杂度:O(n²)代码p

2020-07-07 16:14:56 69

原创 【日常开发】Java静态变量实际问题解决(static关键字解析)

需求背景在一个发短信的业务平台中,需要统计发送短信的总数,每一个任务对应一个号码文件,每一个任务也都会new 一个新的进程来执行。用户发来两个任务,一个号码总数为100,一个号码总数为5000。发送完成后查看数据,发现第一个任务数据无误(总数为100),第二个数据有误(总数为5100)。问题分析由于数量很对应,很容易发现问题所在,应该是第二个任务累加了第一个任务的数据。最初的想法是多线程操作一个属性造成的原因,但是每一个任务的线程都是独立运行的,且每一次都会new一个新的执行对象,也会对总数进行

2020-07-06 17:53:02 294 2

原创 【Java面试经验】JAVA基础部分(从入门到放弃)

写在最前:这些都是面试的时候整理的题目,所有的题目来源于网上,几乎包含了Java面试所有的实体,自己进行了部分答案的编写。PS:小伙伴们如果有不懂的地方可以在评论进行留言,也可以对未作答的题目进行补充,我会持续进行更新。结合另一篇文章食用更为妥当【面试宝典】JUC部分(对应周阳老师的面试教程)一、Java 基础1.JDK和JRE有什么区别JDK是Java Development Kit 的缩写,包含了Java开发的基础类库,开发环境和运行环境,主要面向开发人员JRE是Java RunTime.

2020-07-06 11:04:46 703 1

原创 【Java面试经验】JUC部分(对应周阳老师的面试教程)

写在最前:此篇文章对应周阳老师的大厂面试教程,几乎包含了大厂所有JUC部分的面试题,虽然自己无缘大厂,但是这些知识也让我在面试中得到了不错的评价。需要找工作的同学可以搭配另一篇文章来使用JUCjava.util.concurrent的缩写线程的6种状态创建,可运行,阻塞,等待,计时等待,终结Lambda表达式java1.8之后允许接口中有部分方法的实现,需要用default关键字描述方法@FunctionalInterface 注解表示函数式接口(仅有一个抽象方法)常见异常总结Concur

2020-07-06 10:34:48 1827 3

原创 Hadoop从搭建环境到运行(集群建立)

配置hadoop本节内容全部搬运官网https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html解压缩下载的Hadoop发行版。在分发版中,编辑etc/hadoop/hadoop-env.sh文件,定义如下参数以下所有命令要在hadoop安装的文件夹里执行etc/hadoop/hadoop-env.shexport JAVA_HOME=/opt/module/jdk1.8.

2020-07-06 10:13:49 499

原创 Hadoop从搭建环境到运行(虚拟机准备)

Hadoop大数据生态体系结构图推荐系统架构Hadoop组成虚拟机环境搭建下载VMware使用的15.1.0版本,前面下了一个版本的windows10 无法使用下载地址 https://download3.vmware.com/software/wkst/file/VMware-workstation-full-15.1.0-13591040.exe密钥:UA5DR-2ZD4H-089FY-6YQ5T-YPRX6安装CentOS1.6选择创建新的虚拟机,并找到镜像文件使用本地

2020-07-06 10:13:12 303

原创 Vue Element Cascader使用

前端使用不做说明,主要是后端思路,此方法只适合数据比较少的时候主要用于实现java代码于Cascader的结合层级列表构造代码public class Cascader { @JsonSerialize(using = ToStringSerializer.class) private Long value; private String label; private List<Cascader> children;} /** *

2020-07-06 10:11:18 601

原创 数据库Could not create connection to database server错误解决

复习Spring框架的时候,用到了jdbc连接,但是出现Could not create connection to database server错误看了一篇文章是说,mysqll版本号和maven中pom文件中配置的mysql-connector版本号不同,在将pom文件中的版本号改成本地mysql的版本号以后再更新maven问题解决。执行 select version() from dual 获取版本号参考文章更新完之后,报了另一个错误Loading class `com.mysql.jdb

2020-07-06 10:08:24 3501

原创 使用vueAdmin开发后台管理系统(登录篇)

本文介绍了如何使用vue-element-admin开发在线考试系统教师端的流程,模板的下载过程略过,项目部署后的目录结构如图所示我自己的前端学的不怎么样,可以说是个半吊子,只能粗略的用一下,文章主要是针对那些对后端比较了解,但是前端了解的比较少,只需要会用就行的人,帮你们少走点弯路,都是自己踩了很多坑走过来的。前面几段是根据我自己的业务需求配置的,如果想要看登录的实现具体过程可以从登录页面初步修改章节看起修改访问端口项目文件如图所示,在vue.config文件中存放了配置文件,由于本项目所有前端

2020-07-06 10:07:13 4177 1

原创 PowerDesigner数据库设计简要教程

PowerDesigner数据库设计通过PowerDesigner设计物理模型,然后可以自动生成SQL语句,下面是创建物理模型的过程,以试题分类表为例子点击 File – New Model – Model types选择 物理模型物理模型最常用的三个是table(表),view(视图),reference(关系)选择table新建一张表(点击table之后需要在左侧点击右键进行创建)修改创建页面的GeneralName: 表的名称Code: 表示在数据库中的表名

2020-07-06 10:04:16 206

【面试宝典】JAVA基础部分(从入门到放弃).md

这些都是面试的时候整理的题目,所有的题目来源于网上,几乎包含了Java面试所有的实体,自己进行了部分答案的编写。 PS:小伙伴们如果有不懂的地方可以在评论进行留言,也可以对未作答的题目进行补充,我会持续进行更新。

2020-07-06

JUC_CSDN.md

此篇文章对应周阳老师的大厂面试教程,几乎包含了大厂所有JUC部分的面试题,虽然自己无缘大厂,但是这些知识也让我在面试中得到了不错的评价

2020-07-06

空空如也

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

TA关注的人

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