delegate

通俗理解spring源码(五)—— 解析及注册BeanDefinitions

无人久伴 提交于 2020-05-04 10:46:16
通俗理解spring源码(五)—— 解析及注册BeanDefinitions   上节讲到了如何获取document,当把文件转换为document后,接下来的提取及注册bean就是我们的重头戏。 protected int doLoadBeanDefinitions(InputSource inputSource, Resource resource) throws BeanDefinitionStoreException { try { // 从资源文件转换为document对象 Document doc = doLoadDocument (inputSource, resource); // 解析document,并注册beanDefiniton到工厂中 int count = registerBeanDefinitions (doc, resource); if (logger.isDebugEnabled()) { logger.debug( "Loaded " + count + " bean definitions from " + resource); } return count; } catch (BeanDefinitionStoreException ex) { throw ex; } catch (SAXParseException ex) { throw

centos7下docker二进制安装

与世无争的帅哥 提交于 2020-05-04 07:47:28
问题描述:    内网离线环境下,安装docker.二进制来的还是快点,或者内网搭建yum的epel仓库! 环境:  centos7.x  docker-18.9.0 x86_64 static //二进制 解决方法: 1、download:   https://download.docker.com/linux/static/stable/x86_64/ 2、kernel ack [root@lab-210 ~]# uname -r //kerner3.10.+ centois7.x 内核都是3.10+,此举只是为了验证 3.10.0-862.el7.x86_64 3、setup docker-18.06.1-ce.tgz tar zxf docker-18.06.1-ce.tgz && mv docker/* /usr/bin/ && rm -rf docker*.tgz //解压切移动binary到 /usr/bin 注意:如果移动到别的目录有点问题,systemctl脚本启动不起来,具体原因还在寻找中 4、systemd docker.service vim /etc/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=https

前端面试送命题(三)- 面试题篇

一个人想着一个人 提交于 2020-05-02 18:02:38
前言 前端入门很容易,简单地用html搭一个页面框架;会用一些css基本样式;懂得用jquery的dom交互,就基本可以挺着胸说自己是个前端工程师了。 但是前端提升异常艰难,算法、数据结构、oop;javascript、dom、css、html5这些仅仅是标配;性能优化、安全性、代码优雅性、seo,这些也是必然需要了解的。前端开发环境很轻便,也很繁琐,各种框架、架构模式的应用也是衡量专业程度的标准。 在这里总结了一些面试题供前端们参考。 内容 JavaScript中如何检测一个变量是字符串类型? typeof (obj) === "string" // true obj.constructor === String // true trim()的使用场景 var str = " hello word " ; str = str.trim(); console.log(str); // hello word,trim只会去掉字符中前后的空格,不会去除文字中的空格 this的典型应用 // 1 input点击,获取值 <input type="button" id="text" value="点击一下" /> <script type="text/javascript"> var btn = document.getElementById("text" ); btn.onclick =

C#基础(一):数据类型

时光总嘲笑我的痴心妄想 提交于 2020-05-02 14:09:01
1 、第一个C#程序 using System; namespace base_01 { class Program { #region 代码折叠块 static void Main(string[] args) { //控制台输出 Console.WriteLine("Hello World!"); Console.Write("C#是微软的编程语言"); //不换行输出 //Console.ReadKey(); //控制台等待,VS2017之后的高版本不需要这句 } #endregion } } 代码说明 : (1)每个程序只能有一个Main方法; (2)#region 代码折叠块, #endregion可以实现代码块折叠; (3)C#需要引用命名空间,类似于C++添加头文件,命名空间里有相关类。例如Console是System名字空间里的类; (4) 控制台输出 Console.WriteLine("Hello World!"); //输出后换行 Console.Write("C#是微软的编程语言"); //不换行输出 Console.ReadKey(); //控制台等待,VS2019之后的高版本不需要这句 2、注释 3个斜线可以注释方法。 2个斜线普通注释 3、变量命名规则 4、数据类型 (1)整数类型 (2)小数类型 代码示例 double m1 = 12.34;

从壹开始前后端分离 [.netCore 填坑 ] 三十二║ 四种方法快速实现项目的半自动化搭建

牧云@^-^@ 提交于 2020-05-02 09:09:20
更新 1、更新小伙伴 @ 大龄Giser 提出好点子:试试VS的插件扩展:VSIX、ItemProject等,将T4模板给制作插件,这里先记下,有懂的小伙伴可以自己先试试,我会在以后更新。 2、感谢小伙伴 @ 博客园董事长 的测试和指正,本文 T4 模板已经支持 Oracle 3、再次感谢小伙伴 @ 大龄Gise r 关于 使用VSIX+ProjectTemplate创建项目模板, 提供开源支持: https://www.cnblogs.com/OlderGiser/p/9796403.html 4、感谢群小伙伴 @ jamee1696 提供技术支持,本文 T4 模板已经支持 Mysql 5、如果感觉 Blog.Core.Framework 层比较笨重,我单写了一个简单的生成框架文件的接口,可以查看 DbFirstController.cs 【推荐使用】 缘起 哈喽大家周二好呀,这个国庆过的真是懒洋洋呀,不知道大家的学习动力咋样了,刚一上班本人手中的项目也增加了,但是还是要抽出时间学习哒,为了不让老板大大天天催,所以更新会慢点儿 [ 哭笑 ] : bowtie: ,不过在我的推荐下,公司下一个项目要我负责前后端分离,终于可以将这些派上用场了,中间的坑也会在以后的文章中,慢慢补充出来。 这几天简单想了想,还没有想好要开什么系列

Java Spring Boot VS .NetCore (八) Java 注解 vs .NetCore Attribute

瘦欲@ 提交于 2020-05-02 04:16:29
Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Java Spring Boot VS .NetCore (三)Ioc容器处理 Java Spring Boot VS .NetCore (四)数据库操作 Spring Data JPA vs EFCore Java Spring Boot VS .NetCore (五)MyBatis vs EFCore Java Spring Boot VS .NetCore (六) UI thymeleaf vs cshtml Java Spring Boot VS .NetCore (七) 配置文件 Java Spring Boot VS .NetCore (八) Java 注解 vs .NetCore Attribute Java Spring Boot VS .NetCore (九) Spring Security vs .NetCore Security Java Spring Boot VS .NetCore (十) Java Interceptor vs .NetCore Interceptor Java Spring Boot VS .NetCore (十一)自定义标签 Java Tag

通用麻将胡牌算法

自古美人都是妖i 提交于 2020-04-30 17:15:31
  声明: 算法并非原创 , 但是来源已经忘记了 , 当时考虑算法的时候看了比较多的麻将胡牌算法 , 想寻找自己比较容易理解的 , 找了几篇,所以算法的出处已然忘记,不过还是感谢下原创吧 .   算法理解之后就不难了 , 下面开始详细的阐述了. 1. 将麻将抽象为数字   数字 {01 ~ 09} 表示 {1 ~ 9} 筒   数字 {11 ~ 19} 表示 {1 ~ 9} 条   数字 {21 ~ 29} 表示 {1 ~ 9} 万   数字 {31 33 35 37 } 表示 { 东 南 西 北 }   数字 {41 43 45} 表示 {中 發 白}   数字10 20 30 32 34 36 40 42 44 46 空出来不代表任何麻将牌 这样设计的好处就是使得能够形成顺子的牌在用数字表示出来的时候刚好也是连着的 , 而不能够形成顺子的牌,在用数字表示的时候并不是顺子 . 便于以后使用代码进行判断 2. 算法的核心流程   玩过麻将的都知道麻将玩家手上一般有两种牌 一种是手牌 一种是已经碰牌或者吃牌或者杠牌之后已经明了的牌 . 现在以玩家A为例 , 把牌分的细一点   a. 玩家A的手牌 (数量1 + 3*n n < N , n < 4 )   b. 其他玩家打出来的牌 (数量 1)   c. 玩家A从牌面上取出来的牌 (数量 1)   d. 玩家A吃碰杠的牌 (3*n +

Kotlin 语言中标识符的命名规则

走远了吗. 提交于 2020-04-29 14:01:35
区分大小写:Myname 与 myname 是两个不同的标识符。 首字符:可以是下划线(_)或字母,但不能是数字。 除首字符外其他字符,可以是下划线(_)、字母和数字。 硬关键字(Hard Keywords)不能作为标识符,软关键字(Soft Keywords)、修饰符关键字(Modifier Keywords)在它们的适用场景之外可以作为标识符使用。 特定标识符 field 和 it。在 Kotlin 语言中有两个由编译器定义的特定标识符,它们只能在特定场景中使用有特定的作用,而在其他的场景中可以做标识符使用。 提示:field 标识符用于属性访问器中,访问属性支持字段;it 标识符用于 Lambda 表达式中,在省略参数列表时作为隐式参数,即不需要声明就可以使用的参数。 提示:如果一定要使用关键字作为标识符,可以在关键字前后添加反引号(`)。另外,Kotlin 语言中字母采用的是双字节 Unicode 编码 [1] 。Unicode 叫作统一编码制,它包含了亚洲文字编码,如中文、日文、韩文等字符。 Kotlin 语言中有70多个关键字,全部是小写英文字母,以及 ! 和 ? 等字符构成,分为以下3大类。 (1)硬关键字(Hard Keywords),硬关键字在任何情况下都不能作为关键字,具体包括如下关键字, as、as?、break、class、continue、do、else

微服务全链路跟踪:jaeger集成hystrix

。_饼干妹妹 提交于 2020-04-29 00:38:04
微服务全链路跟踪:grpc集成zipkin 微服务全链路跟踪:grpc集成jaeger 微服务全链路跟踪:springcloud集成jaeger 微服务全链路跟踪:jaeger集成istio,并兼容uber-trace-id与b3 微服务全链路跟踪:jaeger集成hystrix 背景 > 当springcloud服务集成hystrix,并且用了hystrixCommend注解到方法上时,jaeger链路会断掉 方案 在网上搜索到了大量jaeger遇到多线程时的处理方式,都是包装线程池来做到ThreadLocal传递,有很多都用到了阿里开源的 transmittable-thread-local 。 下面说一下当集成hystrix时,jaeger链路丢失问题,大家都知道hystrix默认是线程池隔离,所以归根结底还是遇到多线程线程变量没有共享的问题,网上也罗列了几种方案: 方案一:变更隔离方式 hystrix.command.default.execution.isolation.strategy: SEMAPHORE 当并发高时这里设置信号量隔离是有风险的,可以根据情况优化断路器配置来降低风险 方案二:自定义隔离策略 隔离策略官方文档有定义: 原先我就定义了一个feign传递request中header信息的策略,在原有的隔离策略下面参考 https://github.com

为什么建议使用你LocalDateTime,而不是Date?

两盒软妹~` 提交于 2020-04-28 19:42:36
在项目开发过程中经常遇到时间处理,但是你真的用对了吗,理解阿里巴巴开发手册中禁用static修饰SimpleDateFormat吗 通过阅读本篇文章你将了解到: 为什么需要LocalDate、LocalTime、LocalDateTime【java8新提供的类】 java8新的时间API的使用方式,包括创建、格式化、解析、计算、修改 为什么需要LocalDate、LocalTime、LocalDateTime Date如果不格式化,打印出的日期可读性差 Tue Sep 10 09:34:04 CST 2019 使用SimpleDateFormat对时间进行格式化,但SimpleDateFormat是线程不安全的 SimpleDateFormat的format方法最终调用代码: private StringBuffer format(Date date, StringBuffer toAppendTo, FieldDelegate delegate) { // Convert input date to time field list calendar.setTime(date); boolean useDateFormatSymbols = useDateFormatSymbols(); for ( int i = 0; i < compiledPattern.length; )