JAVA高级
发布JAVA高级内容,包括多线程。。。
程序员铁人
人和人拼的是思维,格局,世界观!
展开
-
nacos、apollo动态配置
最近使用到了nacos,apollo作为配置中心,记录一下。前提是nacos环境已经搭建好了的,我们是先自己搭建测试,然后让运维来搭建,所以直接用就行了。0.需要通过搭建好的nacos控制台建一些配置,让下面用。这里dataId理解为文件名,groupId默认一般写项目名。1.首先引入jar包<!-- Nacos 组件依赖 --> <dependency> <groupId>com.alibaba.boot&.原创 2021-10-18 14:27:43 · 1010 阅读 · 1 评论 -
分布式注册中心
1.为啥要用?分布式中机器,应用很多,服务调用方需要知道接口地址,然后在配置文件中配置,新加,修改配置文件很频繁,很不方便。使用注册中心,服务提供方和调用方将自己信息放到注册中心,即可使用。2.常用的注册中心:zookeepr,eurkea3.zookeepr数据模型:类似linux文件目录 节点:ZK中,叫zNode。“节点”分为两类,第一类同样是指构成集群的机器;第二类是...原创 2019-11-08 11:20:09 · 1558 阅读 · 1 评论 -
互联网程序架构发展
1.传统单体架构:客户-》程序-》数据库。 2.单体扩展:多个程序放到多个服务器,请求加负载均衡。3.单体架构解耦:在扩展的基础上,将程序进行分层,分网关层,业务层,数据管理层。4.异步架构:用消息队列提高系统访问速度。5.soa架构和微服务架构:看不透。。...原创 2019-11-08 08:50:48 · 140 阅读 · 0 评论 -
redis报错Could not get a resource from the pool
很多人说:这是因为配置文件有问题,最大连接数,失败等待时间等。但是如果是一条数据做个简单测试的话,就不用太关注这里了。我的错是:linux6379没开放。6379加入防火墙:vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT重启防火serv...原创 2018-10-06 11:25:32 · 1260 阅读 · 0 评论 -
项目架构和模块分层
领域:就是业务的意思,就是将业务抽象成实体、对象来操作。领域模型4个概念。下图是阿里巴巴命名规范。1 po,和数据库实体一一对应的,包括字段名,类型。就是在写入数据库使用。2 vo, 用于前台显示数据,所以它和前台需要的字段一一对应,就是查询时候使用。当然它可能是多个do中截取一部分。3.dto, 显示层向服务层传数据使用,也有的是微服务之间服务接口的参数定义。4....原创 2020-03-03 11:16:52 · 1293 阅读 · 0 评论 -
二分法查找
适用场景:序列是递增、递减的。思想:一个序列,找到最中间的位置,用待查值和该值比较。如果该值比middle大,就去后半段查;反之,去前半段查;循环之。直到mddle==待查值。 * @Description: 查找算法之---二分法查找 局限性:只能查找递增/递减的序列,一般用不到。 * @date 2019/11/77:50 */public class TwoFenSearc...原创 2019-11-09 15:24:39 · 124 阅读 · 0 评论 -
数据结构---栈
栈:用数组作为载体对栈进行操作。特点:先进后出。只能在栈顶进行操作。主要操作:压栈push;出栈pop;查看栈顶元素;代码操作: * @Description: 栈,选用数组作为栈的单位 操作:入栈,出栈,查找栈顶元素,判断栈是否我空 * @date 2019/11/716:04 */public class MyStack { int[] elements;...原创 2019-11-09 15:07:38 · 227 阅读 · 0 评论 -
代理模式
使用场景:一个类不能、不合适直接调用另外一个类。或者调入另外一个类会污染本类。类特点:1.创建接口,包含真实类要做的方法 2.创建真实类,代理类,都实现该接口 3.真实类中方法写具体内容实现4.代理类中,创建真实类对象,代理类构造方法中返回真实类对象,代理类中继承的方法中:用真实类对象调用真实类中的方法。代理类还可以自定义一些其他方法,都要在继承的方法中调用。一、接口类publ...原创 2019-11-09 14:48:52 · 122 阅读 · 0 评论 -
单例模式
使用场景:就是只适合使用一个对象的情况,或者是新建对象消耗多大。比如:网站计算器。打印机。特点:分2种模式:饿汉式,懒汉式。锁:加锁,不加锁,双重锁。类特点:1.类中声明全局变量;2.私有化构造方法 3.全局暴露调用对象的方法。4.调用方法中判断对象值的情况饿汉:在类中直接实例化对象。懒汉:在构造方法中,即:在对象第一次被调用的时候才创建对象一、饿汉public cl...原创 2019-11-09 11:07:04 · 93 阅读 · 0 评论 -
工厂模式
使用场景1、在任何需要生成复杂对象的地方,都可以使用工厂方法模式。 2、直接用new可以完成的不需要用工厂模式分3种模式。一.简单工厂。1.一个接口 。定义生产的产品,这些产品都相近。public interface Shape { void draw();}2.创建生产类,继承该接口。类似于工厂中多条生产线public class Rectangl...原创 2019-11-08 17:23:48 · 86 阅读 · 0 评论 -
mybatis中mapper的坑
今天,花了一下午,晚上,才把一个bug找到。bubName: mapper创建不成功,说是mapper中一个接口的名字重复了,这是最扯淡的。解决方法:第一步,先看mapper名是否重复,这一般是不可能的。所以看是否对应,mapper和xml中id不对应到是很大机会。 第二部,只能是requestParam和resulttype的错了,类型的错,是否有空格。 ...原创 2018-10-26 21:36:05 · 404 阅读 · 0 评论 -
权限控制
刚刚收到一个电面,面试官问我权限控制如何做,我还没做,曹,近期内一定把这个搞定。如何让一个用户登录的时候不让其他用户同时登录?原创 2018-10-16 19:27:38 · 200 阅读 · 0 评论 -
mybatis逆向工程。
废话不多说。只需要2步1.建立一个普通的java工程。MyGenerator.javaimport org.mybatis.generator.api.MyBatisGenerator;import org.mybatis.generator.config.Configuration;import org.mybatis.generator.config.xml.Config...原创 2018-09-14 21:03:52 · 109 阅读 · 0 评论 -
基于maven和ajax的ssm框架前后端
项目中用到了ajax请求后台数据,后台返回数据的用法。前台发送一个请求url,我这里是查询,ajax带一个id请求到url,后台用springmvc的注解@path接收,然后执行查询操作,返回一个pojo对象,我这里只有一条记录。按道理多条记录也是没问题的,只需要在我代码基础上改变controller层返回值,及Servie层返回值即可。1.写好一个ajax请求。$(document...原创 2018-09-14 20:56:10 · 686 阅读 · 0 评论 -
ssm写测试类
今天用ssm写一个测试类。我的项目用的是分布式,用dubbo来接发服务。运行测试类,老是报错。说是找不到本机ip:21880。cause: Failed to bind to: /0.0.0.0:20880。原因是,我测试的时候把项目启动了,启动项目需要占用application.xml中的端口。加载测试类,需要再加载一次application.xml,当然第二次的端口就不能被加载了。...原创 2018-09-12 21:12:39 · 6116 阅读 · 0 评论