2019-11-13 10:33
本文源码:GitHub·点这里 || GitEE·点这里
一、使用场景
应用代码
public class C01_InScene {
public static void main(String[] args) {
String c0 = "cicada" ;
String c1 = "cicada" ;
System.out.println(c0 == c1); // true
}
}
String类型就是使用享元模式。String对象是final类型,对象一旦创建就不可改变。在JAVA中字符串常量都是存在常量池中的,JAVA会确保一个字符串常量在常量池中只有一个拷贝,其中c0和c1就是一个字符串常量。结果为:true,说明c0和c1两个引用都指向了常量池中的同一个字符串常量"cicada"。这样的设计避免了在创建N多相同对象时所产生的不必要的大量的资源消耗。
...
2019-11-13 10:18
除了可通过模板创建HTML之外,Vue还提供了渲染函数和JSX,前者的编码自由度很高,后者对于开发过React的人来说会很熟悉。注意,Vue的模板最终都会被编译成渲染函数。
一、渲染函数
虽然在大部分场景中,都会选择直观而清晰的模板,但遇到一些复杂的场景时,就不得不使用渲染函数render()了。
1)render()
假设有一个page组件,它会根据外部传入的type特性,有选择的渲染,其模板如下所示。
...
2019-11-13 10:08
OnePomodoro应用里有个按钮用来控制计时器的启动/停止,本来这应该是一个包含“已启动”和“已停止”两种状态的按钮,但我以前在WPF和UWP上做过太多StateButton、ProgressButton之类的东西,已经厌倦了这种控件,所以我在OnePomodoro应用里只是简单地使用两个按钮来实现这个功能:...
2019-11-13 10:46
微信公众号,是我消息的唯一发送平台,请注意查看,文章底部有二维码
系列教程一目录:.netcore+vue 前后端分离Demo1Demo2视频教程Code
系列教程二目录:DDD领域驱动设计Demo Code
系列教程三目录:Nuxt.js TiBug系统Demo Code
系列教程四目录:VueAdmin 后台管理系统Demo Code
系列教程五目录:IdentityServer4 授权服务器Demo Code
本文梯子
前言
零、回顾与目标
一、无状态的简单授权认证
二、有状态的授权认证中心
...
2019-11-13 10:15
前面已经讲 一张图秒懂微服务的网络架构,通过此文章可以了解FastDFS组件中单机安装流程。
单机版架构图
file
以下为单机FastDFS安装步骤
一、环境准备
CentOS 7.X
libfastcommon 使用的版本: libfastcommon-1.0.41.tar.gz
FastDFS 使用的版本: fastdfs-6.01.tar.gz
fastdfs-nginx-module 使用的版本:fastdfs-nginx-module-1.21.tar.gz
nginx 使用的版本: nginx-1.16.1.tar.gz
...
2019-11-13 10:09
一、引言所谓级联删除是指删除一条记录后,附带关联记录也一起删除,比如删除客户后,联系人也一起删除;...
2019-11-12 16:32
编辑整理,欢迎转载,转载请声明文章来源。欢迎添加echo微信(微信号:t2421499075)交流学习。 百战不败,依不自称常胜,百败不颓,依能奋力前行。——这才是真正的堪称强大!!!
Redis的基本数据类型
最基本的数据类型strings
最基本也是最常用的数据类型就是String,对应的操作命令也比较简单的,有get/set/del等;它的对应的值可以是任何种类的字符串,最大保存长度512MB。基本命令的使用如下:
set name echo
get name
del name
set key 1
...
2019-11-12 16:27
本文将介绍几种部署Goku API Gateway的方式,最快一分钟可使用上为网关,详情请看全文。
什么是Goku API Gateway?
Goku API Gateway (中文名:悟空 API 网关)是一个基于 Golang 开发的运行在企业系统服务边界上的微服务网关。当您构建网站、App、IOT甚至是开放API交易时,Goku API Gateway 能够帮你将内部系统中重复的组件抽取出来并放置在Goku上运行,如进行用户授权、访问控制、防火墙、数据转换等;并且Goku 提供服务编排的功能,让企业可以快速从各类服务上获取需要的数据,对业务实现快速响应。
...
2019-11-12 16:15
什么是上下文管理器
基本语法
with EXPR as VAR:
BLOCK
概念
上下文表达式:with open('test.txt') as f:
上下文管理器:open('test.txt')
f 不是上下文管理器,应该是资源对象
作用
with语句就是简洁版的try/finally语句
代码块前后必然会执行的内容
原理
**上下文管理器是内部实现了__enter__和__exit__方法的对象**
class Foo:
def __init__(self):
print("实例化一个对象")
...