- 博客(69)
- 收藏
- 关注
原创 探讨微服务架构中一些基础设施的合理性
最近在思考现有应用架构中一些基础设施的合理性,分两个层面,一个是必要性(就是如果没有这个东西,会怎样),一个是可替代方案(如果突然没有这项设施,该怎么办),包括安全,现在大环境对安全的需求几乎没有上限。
2023-07-11 11:26:28 118
原创 阿里云服务拆分部署
第一种是本地部署一个独立spring应用,业务上的要求是尽量隔离。第二种是采用阿里集群部署 采用第二种方案目前看是隔离度最高的。
2023-07-04 18:05:37 723
原创 一些杂七杂八的思考随笔-关于“抽象”的理解
以List为例,AbstractList作为实现类,是抽象的,不能被实例化,在此类中引入了迭代器Itr, ArrayList作为AbstractList的子类,提供了每个方法的具体实现,并通过数据结构(数组)的具象,提供了一个基础集合类应该有的功能、特点。首先,是工厂模式,工厂模式是我将需要的内容(类)先转载进入“工厂”里,然后需要时,直接从工厂中取出,Spring中的BeanFactory我感觉就是该模式原理。和接口的关系,接口是方法的整合,而抽象类是类的范围,包含描述的属性和方法。
2023-05-19 11:11:01 133
原创 springboot + webservice +传输自定义类
一.初次搭建报错采用这篇文章的方法,报如下错误Error creating bean with name 'org.apache.cxf.spring.boot.autoconfigure.CxfAutoConfiguration':通过更改cxf版本号修正(将:3.1.11修改为3.2.5): <dependency> <groupId>org.apache.cxf</groupId> <ar
2020-06-15 11:06:45 2006
原创 Ext.js 分页查询及展示分析
最近工作上面用到的前端框架是EXT.js,最近收到一个问题,分页查询总是走不到下一页。现将分析过程记录如下:**ext三大件:**Model、Proxy、Store。早期的版本应该有些出入1.Ext.data.ModelModel可以看做是一个数据实例2.Ext.data.storestore 用来装载 Ext.data.Model 数据,一般通过Ext.data.proxy.Prox...
2019-06-05 14:42:28 1182 1
原创 记一次SQL语句执行性能调优
问题描述:今天在解决项目上面的一个问题是。遇到一个非常奇怪的问题:如下的sql语句SELECT COUNT ( * ) AS totalnum FROM requestbase r WHERE EXISTS ( SELECT 1 FROM requestlog wl WHERE wl.requestid= r.id AND wl.logtype NOT...
2019-05-29 15:40:00 447
原创 微服务学习(二)-docker部署与联调
**场景: 工程里面使用docker-compose组合了三个容器,但是很多应用场景下我需要在在本地调试应用,也就是工程里面的app应用。这样如何在本地使用eclipse调试自己的应用?**一.docker 环境搭建(1)docker容器使用相关 1.显示所有容器lj@lj-ubuntu:~$ sudo docker psCONTAINER ID IMAGE ...
2019-05-28 17:31:55 555
原创 微服务学习(三)-使用Ant Design
一.node.js高性能的js运行引擎,基于chrome V8,使得js的代码开发可以不用依赖于浏览器1.npm:node 包管理工具使用package.json进行包的依赖管理2.模块:了解node.js里模块的概念,类似于java中的类,使用modulw.exports来输出对外变量(包括函数等),类似于java中的public3.使用node.js进行web开发...
2019-05-28 17:31:15 363
原创 记一次js调试(attachEvent, onchange, onpropertychange)
1.关于attachEventattachEvent 是IE下专属使用的,chrome 并不支持,并且会报attachEvent不支持的相关报错非IE浏览器需要使用addEventListener(“click”, function (e) {}, false);2. onchange, onpropertychange的区别onchange 适用的范围并没有onpropertycha...
2019-05-28 17:30:33 451
原创 微服务学习(二)-springboot + docker
一.win7下安装dockerwindows安装docker是遇到的问题:(1) 提示boot2docker版本过期解决方法:1.尝试断开网络,已跳过版本验证,没有效果2.尝试迅雷下载提示的boot2docker版本,直接替换安装包,验证成功(2) docker网络连接问题使用docker-machine ip 查出docker服务器的IP:但是在第二步尝试mo...
2019-05-28 17:30:00 266
原创 微服务学习(一)-使用Springboot配合Eclipse远程调试
场景:项目构建工具:Maven ,开发环境:eclipse框架Springboot 数据库:MySql ,数据库操作:Spring data jpa.数据缓存:resdis使用以上搭建一个基本的web应用,并可以调试 一.搭建项目工程二.工程调试(1).配合maven插件,在pom.xml添加以下配置 <plugin> ...
2018-09-02 21:32:36 2908
原创 记一次JVM调优(Permanent Generation)
最近在一次搭建公司系统运行环境的时候tomcat总是报出 java.lang.OutOfMemoryError PermGen space 的问题
2018-07-21 17:06:03 2596
原创 JVM内存-以及几个有关内存的关键字
JVM内存结构(1)运行时数据区的划分(按照线程共享与线程私有的区别划分): 线程共享:堆,方法区 线程私有:栈(虚拟机栈,本地方法栈,PC) (2)上述内存结构 方法区: 方法区存放内容:类名称,类静态变量,final类型变量,类信息(方法,field等),比如说通过class对象的方法 getName等,都是来自于方法区域 堆: ...
2018-04-28 17:57:10 438
原创 Spring MVC获取请求参数 以及REST风格
1.spring mvc怎样获取请求参数@Controller: 用来处理DispatcherServelet分发的请求。 @requestMapping: 用来映射请求路径处理 (1)@requsetParam: 获取键值对方式的请求参数 如:springmvc/ljyll122?username=jackie&age=12 (2)@PathVa...
2018-04-16 20:11:16 897
原创 引用类型复制-深浅复制
1.引用类型在内存中的占位 public void Test(){ String str1 = "111"; String str2; str2 = str1; System.out.println("str2: " + str2); str1 = "222"; System.out....
2018-04-16 13:10:34 522
原创 HashMap 源码分析
(1)getEntry(Object key) 方法:final Entry<K,V> getEntry(Object key) { int hash = (key == null) ? 0 : hash(key.hashCode()); for (Entry<K,V> e = table[indexFor(hash, table.l...
2018-04-02 20:23:18 214
原创 java - Map interface
(1)三种collection views:key集合,value集合,key-value(2)顺序:即迭代器(interators)返回map元素的顺序,像TreeMap就实现了,但是HashMap就没有(3)Map的实现类必须提供两种构造方式: 1.无参数的构造函数,用以构建一个空map public HashMap() { this.loadFactor = DEF...
2018-04-02 19:44:41 326
原创 JAVA 泛型-不要在新代码中使用原生态类型
(1)泛型:尽量使用泛型方法(2)泛型擦除泛型类型在运行的时候会被擦除,即转换为Object类型典型事例: 1. instanceof 不能跟泛型类型参数 2. class实例类型一致(getClass)(3)不要在新代码中使用原生态类型 1.由于兼容性的需要,原生态类型一直存在着,如List,但是为了安全性需要,不要使用原生态类型 2.List<String>对象是可以赋值给...
2018-04-02 19:35:53 302
原创 java IO(三): Buffer
1.线性结构Buffer类是一个线性结构的类2.元素基本元素有:capacity limit position markcapacity:目前buffer元素的数量limit:记录buffer第一个不可读写的位置position:记录buffer第一个可读写的位置mark:position允许被重置的索引,不是必须定义,但是不会比position大新创建的buffer元素初始值:通常positio...
2018-03-22 16:10:59 250
原创 java IO(二): java NIO
java NIO用来解决传统IO的问题,NIO使用的就是多路复用IO设计模式,有几个关键的概念:(1)Buffer:Buffer称之为缓冲区,NIO中读写都依赖于缓冲区,其基本类为Buffer类。(2)Channel:顾名思义:“通道”,在NIO中,流的操作要基于channel上,而利用channel进行读写操作的数据只能放到Buffer中去,channel提供了双向的操作,既能读也能写。常用的几...
2018-03-22 16:07:24 181
原创 java IO(一):一些概念整理
1.概念整理:同步(异步),阻塞(非阻塞):关于这两类概念,不知是否可以不用区分的太清楚,网上也是众说纷纭,自我总结下:都是涉及事件的流程是否依赖于当前正在运行的事件是否结束,但是在java中,同步异步貌似更多涉及任务调度,而阻塞与非阻塞更加注重单个事件请求方面。 2.IO操作: IO操作一般分为:硬盘读写,socket读写以及对外设的读写其步骤通常可以分为两步:1.查看数据是否就绪2.进行数据拷...
2018-03-22 15:57:25 197
原创 记一次Multicast DNS(mdns)的问题-(linux 下ifconfig)
前言:近期在查询mdns的问题过程一波三折,问题总结下来可以分为三块,都是比较基础性的问题:1.网关ifconfig查询地址2.多个程序同时占用一个端口号占用编码问题3.mdns协议及实现源码mdns是用于局域网发现的一种协议,网关搭载的linux系统,首先得确定其使用的是哪个地址作为通讯,说一个最简单的指令:ifconfig,虽然早就知道这个指令,但是其实这个指令包含比较多的基础知识。用我使用的...
2018-03-21 19:40:18 3123
原创 Spring 注解(二)
本文理出了Spring的常用注解(@Autowired @Qualifier @Required @Service等)以及其使用案例,后面会整理一些JSR-250的常用注解与案例(1)@Autowired 实现自动装载 用来替换代码里set和get的手动注入函数 public void setEat(LiSpringEatImp obj){ this.eat = obj; }...
2018-03-14 09:50:45 451
原创 记一次HTTP返回400的错误
今天在一次访问后台中,服务器总是返回400,通过wireshark抓包显示如下:POST/shsys-web/cc/module/v3/sub/sync?seq=37670&id=0077a33dbbd6a5839713&sn=15414b2300793583&d=aqeGAnlrIzg=HTTP/1.1Host: 103.255.94.178:8080Conten...
2018-03-13 16:59:14 9010
原创 URL URI
前言:知乎上面得赞最高的说法是这样的,适合迅速理解:URI:universal resource indentifier:统一资源定义URL: universalresource local:统一资源定位其目的都是把一个资源独一无二的定位出来,实际URL是URI的子集,拿一个人做比方:URL可以是:动物住址协议://地球/中国/江苏/….../xxx.man而URI可以是身份证号:XXXXXX所...
2018-03-02 18:04:21 245
原创 MAVEN(二):phase | goals | plugins | poms
前言:虽然会使用了maven,但是在阅读官方文档或者一些博客的时候,总是对一些话术的概念不清楚,通过阅读官网,虽然都是英文,但是对基本概念的解释都十分清晰明了,所以笔者将一些基本术语进行翻译并掺杂一些自己的理解,供以后参考注:话术的解释全部来自于官网。 一.maven phase &goals &plugins 以下解释全部来自官网 maven goals: 官网释义...
2018-03-02 17:54:16 1270
原创 MAVEN(一)——配置以及plugins
首先,罗列下安装以及配置maven中出现的问题:1.安装不了maven插件: 大多是由于eclipse版本和maven插件版本不兼容的问题导致的 主要就是要下载和当前eclipse版本匹配的maven插件,方法可以参考如下: 1. 打开eclipse,菜单“Help”-“Install New Software...” 2. 在Work with 地址栏输入:http://download...
2018-02-26 23:38:34 3245
原创 区块链读书笔记(二)
一.区块链核心:区块链核心是去中心化二.通过比特币和支付宝说明去中心化:传统的淘宝交易模式,买家付款,卖家发货,是通过支付宝为中介的,买家先将钱打入支付宝,卖家的支付宝帐号提示收到款项后进行发货,买家收到商品后检查没有问题,点击确认收货,支付宝再将收款打给卖家,在这一过程中,支付宝充当着交易中心的作用。中心化的问题是,所有的环节都依赖于中心,一旦中心出现问题,不再可靠,整个的流程都会都到影响甚至瘫...
2018-02-10 22:40:09 520
原创 java引用、C指针以及其引申出的知识线整理
java里面是没有指针的概念的,但是引入了引用,他们都是为了要找到操作的目标,我认为理解他们的区别更容易使记忆深刻。并且少去了动态的malloc和free,又引出了java的JVM内存模型以及垃圾回收机制,从而也会牵扯一些java的反射以及object类的hashcode知识,更多的还有equals()和HashMap等等。从而引出一整条线的知识。对于java的内存模型、垃圾回收、反射的总结将在后
2018-02-07 21:46:01 336
转载 JPA概述
JPA定义了Java ORM及实体操作API的标准。本文摘录了JPA的一些关键信息以备查阅。可以快速掌握JPA的基本概念及使用。1 JPA概述JPA(Java Persistence API,Java持久化API),定义了对象-关系映射(ORM)以及实体对象持久化的标准接口。JPA是JSR-220(EJB3.0)规范的一部分。JPA在应用中的位置
2018-02-07 21:42:58 539
原创 spring mvc 注解
1.@Controller用来标记一个类是作为controller来提供服务的,是MVC中的控制器(control)2.@RequestMapping:RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。RequestMapping注解有六个属性:(1)value: 指定请求的实际地址,指定的地址可以是U...
2018-02-07 21:35:41 187
原创 Vue.js框架笔记
1.vue 语法http://www.cnblogs.com/keepfool/p/5619070.html2.vue组件http://www.cnblogs.com/keepfool/p/5625583.html在实例化 Vue 时,需要传入一个选项对象,它可以包含数据、模板、挂载元素、方法、生命周期钩子等选项。全部的选项可以在API 文档中查看。可以扩展 Vue 构造器,从...
2018-01-25 11:33:02 258
原创 javaScript语法笔记(二)
1. 在JavaScript中,一个函数可以作为另一个函数接收一个参数。我们可以先定义一个函数,然后传递,也可以在传递参数的地方直接定义函数。 functionexecute(someFunction, value){ someFunction(value);}execute(function(word){ console.log(word)},"Hello");
2018-01-25 11:30:04 211
原创 javaScript语法笔记
一个完整JavaScript实现由三个部分构成:核心(EcmaScript)文档对象类型(Dom)浏览器对象类型(Bom)js变量:1.动态类型:相同的变量可以用作不同的类型2.js数组的两种表达: a.var cars = new Array(); b.var arry1 = ['a', 'b', 'c', 'd']3.对象 js中几乎所有的变量都是...
2018-01-25 11:28:42 214
原创 linux-iptables学习
Iptables:Netfilter:可以实现读取规则的地方就叫做 netfilter.(网络过滤器) 一.iptables 简介内核空间中定义5个位置: 1.内核空间中:从一个网络接口进来,到另一个网络接口去的 2.数据包从内核流入用户空间的 3.数据包从用户空间流出的 4.进入/离开本机的外网接口 5.进入/离开本机的内
2018-01-25 11:03:37 319
原创 web容器-lighttp搭配CGI
时间原因,就先整理我看到的几个比较好的博客:(1)lighttp配置http://www.cnblogs.com/beacer/archive/2012/09/16/2687889.html(2)怎样理解CGI(知乎)https://www.zhihu.com/question/19998865(3)路由器修改路由器DNShttp://debugo.com/
2018-01-25 11:02:05 574
原创 linux pthread多线程编程
pthread_join():阻塞当前的线程,直到另外一个线程运行结束pthread_exit():终止当前线程pthread_cancel():中断另外一个线程的运行pthread_kill():向线程发送一个信号在编写多线程代码时,经常面临线程安全退出的问题。 一般情况下,选择检查标志位的方式: 在线程的while循环中,执行完例程后,都对标志位进行检查,如果标志位
2018-01-25 10:54:20 351
原创 makefile 学习笔记
Makefile规则如下所示目标:依赖文件列表 命令列表1、目标通常是要产生的文件名称,目标可以是可执行文件或obj文件,也可是一个动作的名称.2、依赖文件是用来输入从而产生目标的文件.一个目标通常有几个依赖文件.1、 make支持三种通配符:“*”,“?”和“[...]” * :代替一个和多个字符 ?:代替一个字
2018-01-25 10:26:59 205
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人