
Java
teayear
《Java编程讲义》作者,华为认证讲师,微软MVP,ORACLE认证专家称号,,主要研究方向为JAVAEE、人工智能、AI/VR、算法 、机器视觉,曾经服务过中国铝业、中国烟草等央企,欢迎合作!
展开
-
JUnit+EclEmma进行覆盖测试
EclEmma简介现在IT开发人员比以往任何时候都更加关注测试的重要性,没有经过良好测试的代码更容易出问题。在极限编程中,测试驱动开发已经被证明是一种有效提高软件质量的方法。在测试驱动的开发方式中,软件工程师在编写功能代码之前首先编写测试代码,这样能从最开始保证程序代码的正确性,并且能够在程序的每次演进时进行自动的回归测试。测试对于软件产品的成败起着至关重要的作用,在极限编程领域,甚至有人提议任何原创 2017-10-09 12:01:59 · 1191 阅读 · 0 评论 -
java宠物店多态源代码
Pet类package com.aaa.adv;/** * 父类:宠物类 * @author 张晨光 * */public class Pet { //成员变量 private String name; private int health; //public Pet(){} //构造 public Pet(String name, int health) { su...原创 2018-07-06 09:44:49 · 1817 阅读 · 0 评论 -
BeanUtils注意事项
一、简介: BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。二、用法: BeanUtils是这个包里比较常用的一个工具类,这里只介绍它的copyProperties(...原创 2018-07-24 11:55:34 · 619 阅读 · 0 评论 -
preparedStatement问号的理解
/** * 根据表名查询总条数; * @param tableName * @return */ public int getCount(String tableName){ String sql="select count(*) from "+tableName; Connection conn=getConnec...原创 2018-09-21 11:09:12 · 1492 阅读 · 1 评论 -
取消myeclipse2017的Dashboard页面
取消myeclipse2017的欢迎页面把右下角的Don't show dashboard on startup勾上就OK了原创 2019-08-28 16:34:31 · 1682 阅读 · 2 评论 -
Kafka技术第一课
1,课程回顾zk 分布式协调框架2,本章重点消息队列的概念消息队列的特点和作用常见的MQ框架有哪些kafka的简介基本术语集群搭建,启动和关闭常用命令3,具体内容3.1 消息队列(message queue)的概念消息是在两台计算机之间传递的数据单位,它可以是简单的字符串,也可以是复杂的嵌入对象。消息队列是消息传递过程中保存消息的容器,将消息从源头中继到目标时充当中间人的角色。3.2 消息队列的作用解耦:A 系统发送数据到 BCD 三个系统,通过接口调用发送。如果 E原创 2022-07-03 18:22:43 · 137 阅读 · 0 评论 -
springcloud4-服务熔断hystrix及sentinel
1,课程回顾2,本章重点服务雪崩(概念,原因,解决办法)hystrix(熔断功能,简化版)sentinel (限流,降低,熔断)3,具体内容3.1 服务雪崩3.1.1 概念:在微服务调用的过程中由于各服务之间的强依赖关系,如果某些服务发成故障,可能会导致所有服务的所有资源不可用的现象3.1.2 原因:服务提供者不可用(硬件故障,程序 BUG,缓存击穿,用户突然大量请求等)重试加大流量(用户重试,代码逻辑重试)服务消费者不可用(同步等待造成的资源耗尽)3.1.3 解决办法:服务扩容:原创 2022-06-27 22:10:31 · 155 阅读 · 0 评论 -
springcloud3-服务到服务调用ribbon及openfeign
1,课程回顾2,本章重点ribbon (负载均衡器)如何实现服务到服务的调用feign 服务到服务的调用3,具体内容3.1 ribbon3.1.1 概念Ribbon是一种客户端负载平衡器,可让您对HTTP和TCP客户端的行为进行大量控制(借助spring封装类RestTemplate,所有的入参,请求URL及出参数都是自己配置)。Feign已使用Ribbon,因此,如果使用@FeignClient,则本节也适用。Ribbon中的中心概念是指定客户的概念。每个负载均衡器都是组件的一部分,这原创 2022-06-26 23:15:53 · 101 阅读 · 0 评论 -
springcloud2-注册中心eureka及nacos
1,课程回顾2,本章重点eureka注册中心nacos注册中心3,具体内容3.1 eureka注册中心https://www.springcloud.cc/spring-cloud-brixton.html#spring-cloud-eureka-serverhttps://docs.spring.io/spring-cloud-netflix/docs/current/reference/html/#spring-cloud-eureka-server3.1.1 简介Eureka 是一种原创 2022-06-25 23:37:41 · 169 阅读 · 0 评论 -
微服务课程之SpringCloud 概述及微服务搭建
1,课程回顾2,本章重点微服务的概念,特点,优点,缺点分布式框架(微服务)的演变过程springcloud简介和特征springcloud组件和体系架构搭建父子项目,编写一个微服务3,具体内容3.1 微服务的概念微服务(micro service),是一种架构风格,它将一个复杂的应用拆分成多个独立自治的服务,服务与服务间通过松耦合的形式交互。这些服务都可以单独的开发,测试,部署,运行;相互协作,更好完成原来大的业务系统的所有功能。3.2 微服务的特点,优点和缺点1)特点解耦:服务做原创 2022-06-25 23:26:49 · 35 阅读 · 0 评论 -
2022Java微服务最全面试题集
微服务架构相关大型网站架构演变过程网站架构演变演变过程传统架构 → 分布式架构 → SOA架构 → 微服务架构什么是分布式架构分布式架构就是将传统结构按照模块进行拆分,不同的人负责不同的模块,不会产生代码冲突问题,方便开发。什么是SOA架构SOA架构就是将业务逻辑层提取出来,将相似的业务逻辑形成一个服务,提供外部访问接口,服务之间访问通过RPC调用实现。什么是微服务架构微服务类似于SOA架构,但是比SOA架构粒度更细,更轻量。微服务架构与SOA架构区别SOA基于WebService和E原创 2022-05-11 16:16:06 · 530 阅读 · 0 评论 -
Redis 7.0 正式发布,新增近 50 个新命令,这次真的学不动了。。
Redis 7.0 现已正式发布,该版本已经开发了将近一年,之前经历了三个候选版本。现如今,开发团队认为它已经足够稳定,可以应用于生产。简而言之,Redis 7.0 几乎包括了对各个方面的增量改进。其中最值得注意的是 Redis Functions、ACLv2、command introspection 和 Sharded Pub/Sub,它们代表了基于用户反馈和生产经验教训的现有功能的重大演变。图片7.0 版添加了近 50 个新命令和选项来支持这种演变并扩展 Redis 的现有功能。例如,位图、列原创 2022-05-11 11:16:55 · 94 阅读 · 0 评论 -
JAVAEE安全框架之shiro第一课
1,课程回顾2,本章重点 什么是shiro,为什么要使用 核心概念(组件) 简单入门 自定义realm用法(加密,加盐) jdbc realm用法(使用数据库)3,具体内容3.1 什么是shiro[http://shiro.apache.org/](http://shiro.apache.org/) **Apache Shiro™(trademark)**是一个功能强大且易于使用的Java安全框架,用于执行身份验证,授权,加密和会话管理。使用Shiro原创 2022-05-05 23:21:29 · 172 阅读 · 0 评论 -
Java生态现状报告之甲骨文人气不再,亚马逊正在崛起
现代软件行业规模庞大,可供选择的编程语言所在多有。但 Java 在软件开发者内仍然大受欢迎,几乎覆盖了各大主要行业及经济部门的所有细分领域。究其原因,Java 语言拥有强大的平台独立性,能够轻松从一个计算机系统迁移至另一个系统,同时提供成千上万工具库与良好的技术支持资源。去年 3 月,New Relic 发布首份 Java 生态现状报告(https://newrelic.com/blog/nerd-life/state-of-java),从数百万款应用程序中收集到第一手数据。作为自 Java 11 以原创 2022-05-04 23:19:28 · 446 阅读 · 0 评论 -
MyCat分库分表高级教程
1.课程回顾2,本章重点数据库拆分方式种类和优缺点mycat横向切分如何实现分表分库后,表中主键如何生成3.具体内容3.1 数据切分概念简单来说,就是指通过某种特定的条件,将我们存放在同一个数据库中的数据分散存放到多个数据库(主机) 上面,以达到分散单台设备负载的效果。3.2 切分种类及优缺点3.2.1 的垂直(纵向)切分概念:一种是按照不同的表(或者Schema)来切分到不同的数据库(主机)之上,这种切可以称之为数据的垂直(纵向)切分使用场景:垂原创 2022-04-27 23:21:01 · 911 阅读 · 0 评论 -
JAVAEE高级工程师就业教程之代理模式.适配器模式.策略模式.观察者模式
代理模式 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式一般涉及到的角色有:抽象角色:声明真实对象和代理对象的共同接口;代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对象操作时,附加其他的操作,相当于对真实对象进行封装。...原创 2022-04-26 14:14:40 · 601 阅读 · 0 评论 -
JAVAEE高级工程师就业教程值设计模式之工厂模式
设计模式:设计模式:其实就是根据代码总结出来的一套经验。一套思路,大家套(模板)课程目标:了解设计模式的原则分层模式:Dao MVC 面向接口编程——设计模式没有具体的代码实现,只是一个指导思想。23中设计模式——大话设计模式工厂模式 适配器模式 策略模式 观察者模式…常用设计模式——生产者消费者 单例模式(Servlet单例) 代理模式第一节:设计模式遵循的原则:设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设原创 2022-04-25 06:12:36 · 351 阅读 · 0 评论 -
JAVAEE高级工程师就业教程之springboot基础
1,课程回顾2,本章重点 什么是springboot springboot的特点 主要注解的解释 SpringApplication.run方法的执行 springboot整合mybatis 增删改查3,具体内容3.1 什么是springbootSpring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以原创 2022-04-24 19:09:31 · 580 阅读 · 0 评论 -
springboot-mybatisplus笔记
1,课程回顾2,本章重点 mybatisplus 简介 特点 mybatisplus 入门例子 springboot整合mybatisplus及使用 mybatisplus 自动代码生成 mybatisplus 分页插件 hutool 工具包 easycode代码生成springboot+mybatisplus 3,具体内容3.1 mybatisplus 简介 特征3.1.1 简介: 为简化开发而生,简化mybatis单表CRUD过程,原创 2022-04-21 13:37:23 · 901 阅读 · 0 评论 -
Apache Struts重现严重漏洞,你升级了吗?
Apache Software Foundation 发布了一个安全公告 S2-062,以解决 Struts 2.0.0 到 2.5.29 版本中存在的一个远程代码执行漏洞;攻击者可以利用此漏洞来控制受影响的系统。对此,美国网络安全和基础设施安全局 (CISA) 也发布公告敦促组织查看 Apache 的公告,并尽快升级到最新的 Struts 2 补丁版本。该漏洞被跟踪为 CVE-2021-31805,是由于 2020 年 CVE-2020-17530 (S2-061) 的不完整修复造成的。也就是说,这一漏原创 2022-04-20 09:48:50 · 1982 阅读 · 0 评论 -
Java程序员的工资为什么一直那么高?
Java程序员的高薪引得不少人羡慕不已,有很多就是冲着Java的高薪从而转行。但是Java程序员的工资为什么那么高?本文为大家详细分析一下。高端的程序员都是技术高超的人才Java的入门门槛不高,基础知识学习起来也并不太难。但是能通过层层选拔最终走上高端Java程序员的人屈指可数。Java作为一门计算机编程语言,可想而知它能简单吗?虽然初期的理论知识让很多人觉得Java入门很简单,但是到了后期想要学好Java必须配合一定案例训练才能掌握。是万事开头难,很多人抱着很大的希望去学习,随着遇到的困难越来越多原创 2022-03-24 18:28:31 · 168 阅读 · 0 评论 -
Java就业岗位有哪些?可以从事哪些工作?
在全球编程语言工程师的数量上,Java语言以900万的程序员数量位居首位。而且大多数应用软件都离不开Java,因此Java程序员数量非常多,Java程序员的需求量也一直位居首位,那么Java就业岗位有哪些?可以从事的工作又有哪些呢?就针对这个问题仔细地来说一说。一、Java开发工程师Java开发工程师是指运用Java这种语言去完成产品的程序设计、开发、测试、维护升级等工作的程序员。主要工作是完成软件的设计、开发、测试、修改bug等工作,包括业务需求的沟通,功能模块详细设计,原创 2022-03-24 15:18:58 · 5065 阅读 · 0 评论 -
Spring框架之权限管理
权限管理回顾课前测:模拟controller, dao,service层,使用bean.xml配置。本章内容表间关系:我们在这里员工和角色考虑多对一关系(实际开发是多对多)权限管理流程:需求:登录系统后,之前系统的左侧菜单都是写死的,但是现在因为每个人权限不同,所以左侧菜单功能模块也应该是动态变化的,每个人登录都不一样。业务需求: 1.登录成功后,要将当前这个人的信息存储到session中去 2.根据每个人对应的roleid去查询相对应的权限。 ①:根据r原创 2022-03-02 12:48:56 · 1154 阅读 · 0 评论 -
SpringMVC之拦截器和异常处理
第四章 拦截器和异常处理回顾课前测:本章内容拦截器异常处理第一节:拦截器javaWeb: 三大组件为servlet、filter 、listenerfilter: 1.filter接口 2.实现这个接口的过滤器应用:字符编码过滤,登录过滤,敏感字符过滤,日志记录listener:监听器1. SpringMVC拦截器的简介 Spring MVC中的拦截器(Interceptor),它主要用于拦截用户请求并作相应的处理。例如通过拦截器可以进行权限验证、记录请求信息的日志、判断用原创 2022-03-02 12:46:40 · 492 阅读 · 1 评论 -
SpringMVC第五次课 SSM整合
SSM框架整合之第五次课复习: spring 业务层 springmvc 表现层 mybatis 持久层1.整合目标Spring框架,来整合其他框架,想到Spring第一次课,兼容性比较好。还可以整合其他xxx框架。Spring框架整合其他两个框架2.项目搭建自己搭建,比较简单的maven web项目.3.依赖创建pom.xml的jar<?xml version="1.0" encoding="UTF-8"?>&l原创 2022-02-28 13:53:45 · 220 阅读 · 0 评论 -
spring整合问题集合1
“D:\Program Files\tomcat\bin\catalina.bat” run[2022-02-28 12:25:54,114] Artifact ssm01:war: Waiting for server connection to start artifact deployment…Using CATALINA_BASE: “C:\Users\teayear\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\Unnamed_ssm0原创 2022-02-28 00:35:43 · 345 阅读 · 0 评论 -
Spring 的控制反转/依赖注入
第一章 Spring 的控制反转/依赖注入回顾增删改查。课前测:本章内容spring:春天 IOC:将创建对象的权力交给 spring 核心容器去控制。工厂模式BeanFactory: 懒汉ApplicationContext: 饿汉< bean id="" name="" class="" scope="" >getBean的三种方式: id 类型 id+类型创建对象的三种方式:1.默认使用无参构造创建 2.使用工厂静态方 3.实例方法原创 2022-02-26 22:36:31 · 406 阅读 · 0 评论 -
springmvc rest风格化案例
一,什么是RESTfulRESTful(RESTful Web Services)一种架构风格,表述性状态转移,它不是一个软件,也不是一个标准,而是一种思想,不依赖于任何通信协议,但是开发时要成功映射到某协议时也需要遵循其标准,但不包含对通信协议的更改特征:1.通过url地址来标识资源,系统中的每个对象或资源都可以通过其url地址来获取2.统一接口,显式地使用HTTP方法,来进行crud(create,update,insert,delete)映射创建资源使用POST更新资源使用PUT检索资源原创 2022-02-24 13:57:03 · 310 阅读 · 0 评论 -
Maven入门极简使用教程
Maven入门级别使用回顾拦截器统一异常处理 实现接口的方式。 注解方式。(分享) 如果是ajax请求,会将异常信息发送到客户端的响应中。复习spring springmvcSSM整合!课前测:本章内容第一节:Maven简介Maven读 : 没问不能马瘟 如果7位程序员,使用的IDE,不同,则将来出问题的几率会很大;1.不同工具问题;2.将来升级问题;3.沟通问题;等等。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m63OX原创 2022-02-19 21:29:25 · 162 阅读 · 1 评论 -
JDBC连接池&JDBCTemplate课堂笔记
今日内容1. 数据库连接池2. Spring JDBC : JDBC Template数据库连接池1. 概念:其实就是一个容器(集合),存放数据库连接的容器。 当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。2. 好处: 1. 节约资源 2. 用户访问高效3. 实现: 1. 标准接口:DataSource javax.sql包下的 1. 方法: * 获取连接:getC原创 2021-12-03 23:14:20 · 148 阅读 · 0 评论 -
大数据技术与应用专业 课 程 标 准
大数据技术与应用专业 课 程 标 准课程负责人:司马云信息工程系二〇二〇年二月《Java基础入门》课程标准1 课程概述1.1 课程名称课程名称:《Java基础入门》课程代码: 22334341.2 学时与适用对象课程总计36学时,理论课时18学时,实践课时18学时。本标准适用于大数据技术与应用专业。1.3 课程定位说明:《Java基础入门》是大数据技术与应用专业的一门专业课。本课程的主要任务是讲授Java概念、Java基本语法、面向对象的程序设计等知识,同时,通过编写项目,来加强学生原创 2021-12-03 17:08:19 · 1207 阅读 · 0 评论 -
JDBC课堂笔记
今日内容1. JDBC基本概念2. 快速入门3. 对JDBC中各个接口和类详解JDBC:1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 * JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。2. 快速入门: * 步骤: 1. 导入驱动jar包 mysql原创 2021-12-01 22:56:42 · 147 阅读 · 0 评论 -
JAVA基础加强笔记
今日内容1. Junit单元测试2. 反射3. 注解Junit单元测试:* 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 2. 白盒测试:需要写代码的。关注程序具体的执行流程。* Junit使用:白盒测试 * 步骤: 1. 定义一个测试类(测试用例) * 建议: * 测试类名:被测试的类名Test CalculatorTest * 包名:xxx.xxx.xx.test cn.itcast.test 2. 定义测试方原创 2021-12-01 22:55:39 · 142 阅读 · 0 评论 -
ElasticSearch第二天
ElasticSearch第二天学习目标:能够使用java客户端完成创建、删除索引的操作能够使用java客户端完成文档的增删改的操作能够使用java客户端完成文档的查询操作能够完成文档的分页操作能够完成文档的高亮查询操作能够搭建Spring Data ElasticSearch的环境能够完成Spring Data ElasticSearch的基本增删改查操作能够掌握基本条件查询的方法命名规则第一章 ElasticSearch编程操作1.1 创建工程,导入坐标pom.xml坐标&原创 2021-12-01 22:51:41 · 151 阅读 · 0 评论 -
ElasticSearch第一天
ElasticSearch第一天学习目标:能够理解ElasticSearch的作用能够安装ElasticSearch服务能够理解ElasticSearch的相关概念能够使用Postman发送Restful请求操作ElasticSearch能够理解分词器的作用能够使用ElasticSearch集成IK分词器能够完成es集群搭建第一章 ElasticSearch简介1.1 什么是ElasticSearchElaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎原创 2021-12-01 22:50:52 · 183 阅读 · 0 评论 -
Spring Cloud 第二天课堂笔记
1. Feign应用目标:Feign的作用;使用Feign实现consumer-demo代码中调用服务分析:导入启动器依赖;开启Feign功能;编写Feign客户端;编写一个处理器ConsumerFeignController,注入Feign客户端并使用;测试小结:Feign主要作用:自动根据参数拼接http请求地址。启动器依赖; <dependency> <groupId>org.springframework.c原创 2021-12-01 22:49:54 · 155 阅读 · 0 评论 -
Spring Cloud 第一天课堂笔记
1. 系统架构演变概述目标:了解项目架构的演变历程小结:#mermaid-svg-jDcYEZKjHiRrxSmv .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-jDcYEZKjHiRrxSmv .label text{fill:#333}#mermaid-svg-jDcYEZKjHiRrxSmv .no原创 2021-12-01 22:49:14 · 168 阅读 · 0 评论 -
图书要出版啦
原创 2021-09-18 21:41:33 · 169 阅读 · 0 评论 -
安卓Android Studio开发IDE的安装
安卓开发IDE的安装1.进入官网https://developer.android.google.cn/studio可以在以下的操作系统开始 Android 应用程序开发:Microsoft® Windows® 8/7/Vista/2003 (32 or 64位)。Mac® OS X® 10.8.5 或者更高GNOME or KDE 桌面所有开发 Android 应用程序需要的工具都是开源的,并且可以从互联网上下载。以下是开始 Android 应用程序编程之前需要的软件列表:Java JDK原创 2021-08-31 15:13:46 · 1360 阅读 · 1 评论 -
Spring Boot 入门与实战笔记
**一、**Spring Boot 入门1、Spring Boot 简介简化Spring应用开发的一个框架;整个Spring技术栈的一个大整合;J2EE开发的一站式解决方案;2、微服务2014,martin fowler微服务:架构风格(服务微化)一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;单体应用:ALL IN ONE微服务:每一个功能元素最终都是一个可独立替换和独立升级的软件单元;详细参照微服务文档3、环境准备环境约束–jdk1.8:Spring Boot原创 2021-08-26 20:10:16 · 295 阅读 · 0 评论