- 博客(28)
- 资源 (9)
- 收藏
- 关注
原创 二、算法之始——动态规划
一切算法理论都是为了解决实际问题,直接讲解算法理论很难理解, 我们结合实际问题来深刻理解动态规划的奇妙。题目:给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为 1000。示例1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例2:输入: "cbbd"输出: "bb"解题思路:本题最容易想到的一...
2020-06-20 10:29:50 262
原创 Service Mesh -- Istio概述
如果你用过微服务,你就会发现,为了解决引入微服务架构所带来的问题,要不断的引入新的技术:服务注册与发现、链路调用跟踪、性能监控、日志收集等等。微服务架构给我们带来方便的同时也会让系统变得越来越复杂,尤其是各个微服务之间的调用问题。时下最流行的是Spring Cloud技术全家桶,但是,Spring Cloud包含的技术栈也是非常多的,而且要做好微服务必须对各个技术有非常熟练的掌握。如果用Dub...
2020-04-14 10:56:51 180
原创 ConcurrentHashMap
ConcurrentHashMapConcurrentHashMap是Java5中新增加的一个线程安全的Map集合,可以用来替代HashTable。对于ConcurrentHashMap是如何提高其效率的,可能大多人只是知道它使用了多个锁代替HashTable中的单个锁,也就是锁分离技术(Lock Stripping)。实际上,ConcurrentHashMap对提高并发方面的优化,还有一些其...
2020-03-18 17:03:48 212
原创 如何判断链表有环
如何判断单链表是否存在环有一个单向链表,链表当中有可能出现“环”,就像题图这样。如何用程序判断出这个链表是有环链表?不允许修改链表结构。时间复杂度O(n),空间复杂度O(1)。方法一、穷举遍历方法一:首先从头节点开始,依次遍历单链表的每一个节点。每遍历到一个新节点,就从头节点重新遍历新节点之前的所有节点,用新节点ID和此节点之前所有节点ID依次作比较。如果发现新节点之前的所有节点当中存在...
2020-01-17 17:36:55 6893
原创 hibernate 与mybatis 的区别 和特点
hibernate 与mybatis 的区别 和特点1.hibernate是全自动,而mybatis是半自动。hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成sql。而mybatis仅有基本的字段映射,对象数据以及对象实际关系仍然需要通过手写sql来实现和管理。2.hibernate数据库移植性远大于mybat...
2020-01-17 14:05:05 258
原创 Spring boot 多个war在同一个容器中部署报错
Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.2017-05-25 17:14:38.906 ERROR 11976 --- [ost-startStop-1] o.s.boot.SpringAppl...
2019-03-17 12:06:33 998
原创 Spring boot打包war部署到Tomcat
第一步:启动类BootApplication 同级目录下新建类如下:import org.springframework.boot.builder.SpringApplicationBuilder;import org.springframework.boot.web.support.SpringBootServletInitializer;public class SpringB...
2019-03-16 22:31:44 424
转载 保证分布式系统数据一致性的6种方案
高可用架构 发布于 2016-04-19 13:20:03 投诉阅读数:13万+编者按:本文由「高可用架构后花园」群讨论整理而成。有人的地方,就有江湖有江湖的地方,就有纷争问题的起源在电商等业务中,系统一般由多个独立的服务组成,如何解决分布式调用时候数据的一致性? 具体业务场景如下,比如一个业务操作,如果同时调用服务 A、B、C,需要满足要么同时成功;要么同时失败。...
2019-01-16 00:03:18 395
转载 JAVA集合类汇总
一、集合与数组数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。二、层次关系如图所示:图中,实线边框的是实现类,折线边框的是抽象类,而点线边框的是接口Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类。但是却...
2018-12-04 20:34:37 166
转载 mysql 性能优化
1. 为查询缓存优化你的查询大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查询语句会让MySQL不使用缓存。请看下面的示例:...
2018-12-04 19:53:45 192
转载 mybatis 面试题
1、#{}和${}的区别是什么?答:${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc.Driver。#{}是sql的参数占位符,Mybatis会将sql中的#{}替换为?号,在sql执行前会使用PreparedStatement的参数设置方法,按序给sql的?号占位符设置参数值,...
2018-12-04 19:29:50 150
原创 分布式系统基础设施
一个大型、稳健、成熟的分布式系统的背后,往往会涉及众多的支撑系统,我们将这些支撑系统称为分布式 系统的基础设施。包括分布式协作及配置管理系统ZooKeeper、分布式缓存系统、持久化存储、分布式消息系统、搜索引擎、以及CDN系统、负载均衡系统、运维自动化系统等,还有实时计算系统、离线计算系统、分布式文件系统、日志收集系统、监控系统、数据仓库等。一、分布式缓存1.memcac...
2018-09-14 23:18:08 923
原创 ZooKeeper功能介绍
ZooKeeper是Hadoop下的一个子项目,它是针对大型分布式系统的可靠的协调系统,提供的功能包括配置维护、名字服务、分布式同步、组服务。1.ZooKeeper API使用简介实例化:ZooKeeper zookeeper = new ZooKeeper(url, sessionTimeOut, null);创建节点:zookeeper.create("/r...
2018-09-14 22:37:34 419
原创 常见的负载均衡算法
1.轮询法 轮询很容易理解,将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端每一台服务器,而不关心服务器实际的连接数和当前的系统负载。2.随机法 通过系统随机函数,根据后端服务器列表的大小值来随机选取其中一台进行访问。由概率统计理论可以得知,随着调用量的增大,其实际效果越来越接近于平均分配流量到每台后端服务器,也就是轮询的效果。3.源地址哈希法 ...
2018-09-14 22:12:59 457
原创 远程过程调用(RPC)
基于HTTP协议实现RPC和基于TCP协议实现RPC比较: 基于HTTP协议的系统间的 RPC,具有灵活、实现便捷(多种开源的web服务器支持)、开放(国际标准)且天生支持异构平台之间的调用等多个优点,得到了广泛的使用。与之相对应的是TCP协议的实现版本,它效率更高,但实现起来更加复杂,且由于协议和标准的不同,难以进行跨平台和企业间的便捷通信。 HTTP协议实现有其...
2018-09-14 01:18:31 249
原创 JMS 监听器容器
消息监听器容器是一个用于查看JMS目标等待消息到达的特殊bean,一旦消息到达它就可以获取消息,并通过onMessage()方法将消息传递给一个MessageListener实现。Spring中消息监听器容器的类型如下:1. SimpleMessageListenerContainer:最简单的消息监听器容器,只能处理固定数量的JMS会话,且不支持事务。2. DefaultMessa...
2018-09-13 14:53:58 535
原创 spring RMI服务发布的流程
RMI服务发布的流程如下:(1)验证service。(2)处理用户自定义的SocketFactory属性。RMIServiceExporter中提供了4个套接字工厂配置,分别是clientSocketFactory、serverSocketFactory和registryClientSocketFactory、registryServerSocketFactory。registry...
2018-09-13 12:38:39 545
原创 Spring事务回滚条件
spring事务回滚条件public boolean rollbackOn(Throwable ex){ return (ex instanceof RuntimeException || ex instanceof Error);}默认情况下Spring中的事务异常处理机制只对RuntimeException和Error两种情况感兴趣,当然你可以扩展来改变,不过,...
2018-09-13 11:32:30 946
原创 Spring事务处理的收尾工作
事务处理的收尾工作包括如下内容:(1)设置状态是对事务信息做完成标识以避免重复调用。(2)如果当前事务是新的同步状态,需要将绑定到当前线程的事务信息清除。(3)如果是新事务需要做些清除资源的工作。(4)如果在事务执行前有事务挂起,那么当前事务执行结束后需要将挂起的事务恢复。...
2018-09-13 11:25:57 239
转载 c++ curl +openssl 编译包,以求支持HTTPS传输
在window平台下,自己DIY编译OpenSSL,Libcurl ,来支持HTTPS传输协议1 缘起 原来就了解些libcurl,一直没有机会在项目实际使用libcurl. 恰好最近一个云存储的项目,服务器使用openstack 恰好我负责现在的一个云存储SDK c++版本的开发中。 与服务器的通信都是基于HTTP/HTTPS协议通信。先做window下的sdk,在逐步
2017-11-23 16:31:51 6352
原创 c++ http请求,json解析
一、文章内容解决c++http请求以及对返回结果json串进行解析,使用jsoncpp库二、安装jsoncpp插件vs2015通过NuGet直接安装jsoncpp到项目下安装好之后,会在项目下有个package包,这个包下面就是jsoncpp库。三、可以上代码了http请求WininetHttp.h文件#pragma once#
2017-11-01 13:41:34 6013 3
原创 c++ 连接mysql数据库
一、根据程序需要下载安装32位mysql数据库连接:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.20-win32.zip二、配置程序项目属性1.指定包含头文件路径:Project->properties->C/C++->Additional Include Directories->(这里指定mysql各种头文件的目录,
2017-11-01 13:26:50 332
原创 分享一个音乐API接口
直接上源码C#的,使用其他语言的,直接看调用的API地址就好。 public class BaiduMusicAPI { /// /// 搜索歌曲 解析网页的方式 /// /// public static List Search(string key, int page) {
2017-09-05 15:08:41 19435 1
原创 HTML5手机端网页开发
-->仿真交易移动端<link rel="stylesheet" href="js/alert/SyntaxHighlighter/shCoreDefault.css"> //html root的字体计算应该放在最前面,这样计算就不会有误差了/ //2016.3.23 wjq update 之所以要加个判断返回一个20.5,是因为当用户在谷歌等浏览器直接输入手机端
2017-08-17 15:48:37 6267 1
原创 json串格式化代码
/// /// /// /// /// public string ConvertJsonString(string str) { //格式化json字符串 JsonSerializer serializer = new JsonSerializ
2016-06-03 13:48:28 346
原创 c# MD5加密实现
直接上代码,简单明了。 /// /// 返回MD5 /// /// /// public string Md5(string input) { MD5 md5Hash = MD5.Create(); byte[] dat
2016-06-03 11:14:22 288
原创 Android 学习笔记(一)(客户端、服务器socket通信教程)
Android Socket通信下面我会给大家讲解android一个简易的和服务器socket通信的例子。初学者请继续看下去...,已经会的就不要看了哈一、服务端:服务端我使用myeclipse建了一个项目,源代码:package com.app.servlet;import java.io.IOException;import java.io.OutputStream;
2016-01-28 17:43:43 552 1
c#调用c++生成的DLL源代码
2016-06-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人