Java
文章平均质量分 53
zw沐知
一个初入职场的程序员小白,主要专注于JavaWeb开发,希望在这里记录自己的成长
个人博客地址:http://www.zwmuzhi.cn/
展开
-
【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 · 268 阅读 · 0 评论 -
【常用配置】代码包结构
先看看阿里是怎么约定的一般分为如下几层开放接口层-终端显示层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 · 648 阅读 · 0 评论 -
【常用配置】日志配置
日志配置日志,通常不会在需求阶段作为一个功能单独提出来,也不会在产品方案中看到它的细节。但是,这丝毫不影响它在任何一个系统中的重要的地位。为了保证服务的高可用,发现问题一定要即使,解决问题一定要迅速,所以生产环境一旦出现问题,预警系统就会通过邮件、短信甚至电话的方式实施多维轰炸模式,确保相关负责人不错过每一个可能的bug。预警系统判断疑似bug大部分源于日志。比如某个微服务接口由于各种原因导致频繁调用出错,此时调用端会捕获这样的异常并打印ERROR级别的日志,当该错误日志达到一定次数出现的时候,就会触转载 2021-01-06 17:02:07 · 2397 阅读 · 0 评论 -
【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 · 108 阅读 · 0 评论 -
【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 · 140 阅读 · 1 评论 -
【Spring Colud】(三)消费者订单模块
(三)消费者订单模块model创建及pom依赖导入同支付模块远程调用此时模拟消费者订单模块,所以设置启动端口为80,需要在内部去调用8001支付模块的功能,所以需要用到跨模块调用可以使用httpClient来实现,此处使用封装了HttpClient功能的RestTemplate来实现RestTemplate原文地址Spring Boot 提供了 RestTemplate 来辅助发起一个 REST 请求,默认通过 JDK 自带的 HttpURLConnection 来作为底层 HTTP 消息的发原创 2020-11-22 21:27:08 · 162 阅读 · 0 评论 -
【转载】springboot实现热部署
1. 前言在实际开发过程中,每次修改代码就得将项目重启,重新部署,对于一些大型应用来说,重启时间需要花费大量的时间成本。对于一个后端开发者来说,重启过程确实很难受啊。在 Java 开发领域,热部署一直是一个难以解决的问题,目前的 Java 虚拟机只能实现方法体的修改热部署,对于整个类的结构修改,仍然需要重启虚拟机,对类重新加载才能完成更新操作。下面我=我们就看看对于简单的类修改的热部署怎么实现。2. 原理深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方转载 2020-11-14 14:19:25 · 115 阅读 · 0 评论 -
【Spring Colud】(二)系统骨架搭建
新建项目New Project选择 Maven (通过模板创建项目)填写项目信息选择Maven配置 不要使用IDEA自带的MavenPOM文件修改打包方式修改为pom,默认为jar删除src文件由于该工程为父工程,只是用来定义包依赖的版本等问题,并不牵扯实际开发,所以删除src文件添加统一jar包版本管理<!-- 统一jar包版本管理--><properties> <project.build.sourceE原创 2020-11-05 16:00:33 · 145 阅读 · 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 · 158 阅读 · 2 评论 -
领域驱动设计笔记(一:关于登陆的思考)
领域驱动设计笔记(一:关于登陆的思考)参考文章代码精进之路:从码农到工匠 作者 张剑飞运用四色建模法进行领域分析怎么才能保证建模的正确性? 这个问题确实值得思考,但是作为接受辩证论教育的我们,应该知道,没有绝对正确的事,立场角度不同,评判的结果也就不同。那么有没有什么是可以暂时不变的?先想一下我们做项目的首要目的是什么?项目开发的主要目的 笔者认为,项目的主要目的是为了完成需求。不管是个人项目,还是企业级的项目,一开始的首要目的就是功能(需求)的实现,其余的一些问题,比如并原创 2020-10-12 23:46:06 · 320 阅读 · 2 评论 -
【文章整理】一文看懂Cola架构和DDD
Cola框架学习偶然了解到cola这个框架(也是架构),接触到了DDD的思想, 为了理解代码,搜阅了很多文章,发现没有一篇能讲的通彻的,因为其中其实牵扯到很多知识,所以将各个方面的内容做了一个汇总,方便学习。所引用文章路径已经标明,如有侵权,还请联系作者删除采集参考文章:领域驱动架构(DDD)建模中的模型到底是什么领域驱动设计系列 (六):CQRS复杂度应对之道 - COLA应用架构应用架构COLA 2.0应用架构之道:分离业务逻辑和技术细节对于单表模式的反思单表功能做多了最容易犯错的地原创 2020-09-25 15:39:29 · 20558 阅读 · 7 评论 -
Spring Cloud Alibaba 7 训练营(第一天)
前言近些年随着云技术的发展,越来越多的用户选择使用云技术来代替将传统的 IT 基础设施。在云技术发展的早期,业界的关注点集中在虚拟化、分布式、存储等 Iaas 方面的技术。但是随着“云原生”概念的提出,大家的注意力开始转移到如何构建更加适合云环境运行的应用上来。“什么样的架构才是适合在云环境中运行”是一个非常大的问题,在此先不展开讨论,而是到 CNCF 对云原生的定义中寻找答案:云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务转载 2020-09-24 10:49:51 · 578 阅读 · 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 · 1593 阅读 · 0 评论 -
【JDK源码】(一)源码环境搭建
参考视频:B站 Java源码盘起来!演示搭建JDK源码阅读环境,利用IDEA搭建Java源码阅读环境视频教程转载 2020-08-07 16:43:51 · 670 阅读 · 0 评论 -
【Java基础】自定义注解
转自:https://www.cnblogs.com/liaojie970/p/7879917.htmljava用 @interface Annotation{ } 定义一个注解 @Annotation,一个注解是一个类@Override,@Deprecated,@SuppressWarnings为常见的3个注解。注解相当于一种标记,在程序中加上了注解就等于为程序加上了某种标记,以后,JAVAC编译器,开发工具和其他程序可以用反射来了解你的类以及各种元素上有无任何标记,看你有什么标记,就去干相.转载 2020-08-04 21:49:22 · 125 阅读 · 0 评论 -
【日常开发】Java静态变量实际问题解决(static关键字解析)
需求背景在一个发短信的业务平台中,需要统计发送短信的总数,每一个任务对应一个号码文件,每一个任务也都会new 一个新的进程来执行。用户发来两个任务,一个号码总数为100,一个号码总数为5000。发送完成后查看数据,发现第一个任务数据无误(总数为100),第二个数据有误(总数为5100)。问题分析由于数量很对应,很容易发现问题所在,应该是第二个任务累加了第一个任务的数据。最初的想法是多线程操作一个属性造成的原因,但是每一个任务的线程都是独立运行的,且每一次都会new一个新的执行对象,也会对总数进行原创 2020-07-06 17:53:02 · 302 阅读 · 2 评论 -
【Java面试经验】JAVA基础部分(从入门到放弃)
写在最前:这些都是面试的时候整理的题目,所有的题目来源于网上,几乎包含了Java面试所有的实体,自己进行了部分答案的编写。PS:小伙伴们如果有不懂的地方可以在评论进行留言,也可以对未作答的题目进行补充,我会持续进行更新。结合另一篇文章食用更为妥当【面试宝典】JUC部分(对应周阳老师的面试教程)一、Java 基础1.JDK和JRE有什么区别JDK是Java Development Kit 的缩写,包含了Java开发的基础类库,开发环境和运行环境,主要面向开发人员JRE是Java RunTime.原创 2020-07-06 11:04:46 · 719 阅读 · 1 评论 -
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 · 613 阅读 · 0 评论