- 浏览: 1089695 次
- 性别:
- 来自: 上海
最新评论
-
halomax:
插件可用,特别感谢楼主
Lombok不支持Idea2018的解决方案 -
tzq668766:
刚找到一个中文版springboot banner在线生成工具 ...
SpringBoot启动时的Banner设置 -
somefuture:
吕檀溪 写道我一直编译不成功,不知道能不能帮忙弄一个2018. ...
Lombok不支持Idea2018的解决方案 -
吕檀溪:
我一直编译不成功,不知道能不能帮忙弄一个2018.2 eap的 ...
Lombok不支持Idea2018的解决方案 -
lkjust08:
mac下的确是可以用了。
Lombok不支持Idea2018的解决方案
文章列表
Instant 类是机器易读的时间信息,存放的是unix时间戳。
import java.time.Duration;
import java.time.Instant;
public class InstantExample {
public static void main(String[] args) {
Instant timestamp = Instant.now();
System.out.println("当前时间 = "+timestamp);
Instant specificTime = Instant.o ...
LocalTime是不可变的时间类,默认格式hh:mm:ss.zzz. 和LocalDate一样,这个类也有时区信息,并且可以通过时分秒创建。
import java.time.LocalTime;
import java.time.ZoneId;
/**
* LocalTime Examples
* @author somefuture
*
*/
public class LocalTimeExample {
public static void main(String[] args) {
LocalTime time = LocalTime.now ...
LocalDateTime 包含日期和时间。默认格式是 yyyy-MM-dd-HH-mm-ss.zzz. 要创建它的实例,需要传入 LocalDate 和LocalTime :
LocalDateTime today = LocalDateTime.now();
System.out.println("现在时间"+today);
today = LocalDateTime.of(LocalDate.now(), LocalTime.now());
System.out.println(" ...
Java 8 Date Time API是我们java开发一直寻找的时间处理工具。java从一开始设计的时间类就让人头疼,好在现在终于有了java8。
为什么我们需要这套API
只要是有这么几个理由:
Java的日期和时间类设计的不统一,在 java.util 和 java ...
LocalDate 是日期的不可变类,默认格式yyyy-MM-dd. 可以用 now() 方法获取当前日期,也可以传入年月日创建实例。这个类还提供了now()的重载方法,可以传入一个时区拿到现在那个时区的日期. java.sql.Date有的功能它都有。
import java.time.LocalDate;
import java.time.Month;
import java.time.ZoneId;
/**
* LocalDate Examples
* @author somefuture
*
*/
public class LocalDateExampl ...
Spring的prototype向singleton注入会有问题,具体见
Spring Bean的prototype无用的解决
除了这篇文章里介绍的方法(ApplicationContext .getBean和代理模式)以外,在java(Spring)领域还有集中其他的实现方式。
这里我们说一下。
1. 使用Spring的ObjectFactory
如果本来的代码是这样的
@Autowired
private PrototypeBean bean;
在单例里直接使用或者即使是在多例里面获取多次,这样拿到的也是同样的一个实例。
我们的状态bean就无效了 ...
Q# 程序会包含一个或多个操作(operation)。操作描述了量子操作带来的影响。
还可以包含一个或多个方法(function)。方法用来操作经典数据,只用来计算。
每个操作还可以调用其他操作(这不就是java里的方法吗?说对了一半,是java里的静态方法)。
Q#文件被编译后,每个操作都会是一个.net的类。所以Q#的操作可以被.net的其他语言调用。
一个操作会有一个输入、一个输出,会有一个body体。
下面定义一个操作:
operation BitFlip(target : Qubit) : () {
body {
X(tar ...
做为一门新语言,要理解他 我们尽量使用其他大众语言的概念和他类比。
Q#编写的程序以.qs结尾。
一个最简单的Q#程序也要包含命名空间namespace。
C#里也有namespace,而java里用的类似概念是package。
有在Q#里引用其他命名空间的定义,需要使用open:
namespace Example {
open Microsoft.Quantum.Primitive;
// ...
}
java里用的是import. C#好像是using。
在命名空间内,开发者可以定义任何操作、方法、自定义类型等。
后面我们会 ...
现在微服务做得越来越多了,头就越来月疼了。
跨系统事务和跨系统分页是最头疼的(其实头疼也没用,解决不了的问题)
现在有这么个需求(其实同样的需求见到不少了,一直没解决):
向数据库插入记录,并把数据发MQ给其他系统消费。
其他系统接收到消息后会调用查询接口回来查询更多信息。
可是这个时候可能插入记录的事务都还没提交,所以根本查询不到。
通常的做法是延迟消费(或者延迟发送):
比如假设事务在几分钟内一定会提交,那就延后10分钟后再过去查询。
查询到了就可以了。
查询不到就任务之前的事务回滚了。。
其实这个场景如果在spring环境下,有两种解决方案:
一 ...
量子门我们前面提到过一句。
量子计算机之所以能成为量子计算机,更在于其对于量子比特的特殊计算操作。那么这里就需要引入量子逻辑门(Quantum Logic Gates)的概念。每一个 Quantum Logic Gate 都对应了一个数学上面的一个 ...
前面说过,量子比特qubit有状态,并且我们用二维列向量表示它的状态。
而“观测”就是看一下这个比特的状态信息。
但是就这一看,量子比特不论本来处于什么叠加态,也会立即塌缩到基态:或
当我们观测状态为的量子时,我们有的概率得到0态,的概率得到1态: 因为概率取到的是值的平方,所以值的符号并不影响观测结果的概率。
而且,对量子的观测不一定会改变量子原本的状态。
当量子本来就在基态的时候,观测得到的就是它当前的状态。
这时候量子比特和传统比特没啥区别。我们可以复制他们并且对它们进行操作。
但是如果量子处于叠加态,观测就会改变他们的状态,这样量子就无法被复制了,因为你也不知道它本 ...
量子比特,是量子领域的单位。
常规信息论的基本单位是比特bit,8个就是一个字节。
量子比特qubit,也就是比特在量子领域的对应物。
比特可以表示的状态是0和1
qubit也可以表示0和1(当然和比特的0 1不一样,是一个向量),还可以表示0和1的叠加。
qubit的状态向量是一个二维列向量,里面两个数的平方和是1.
和我们最早学习向量的值不同,状态向量的值可以是复数。
如果有复数,就不是他们的平方和,而是他们模的平方和。
下面的都可以是qubit的状态向量
如同二维平面坐标系的坐标轴一样,状态向量(后面我们叫他态矢吧)也有基向量:
其他的态矢都 ...
要开发量子计算程序,多少了解点量子物理也是应该的。
我大学是学电子商务的,研究生才转为工科开始学计算机科学,所以对大学物理也没有学过。(我庆幸自己错过了大学四大挂之一) 这篇文章就简单说一下我对量子 ...
前面我们编写了量子叠加程序,使用的操作是H。
现在我们对这个程序稍作变更,让它具有量子纠缠能力。
量子纠缠需要两个量子比特,所以我们在using中使用2:
using (qubits = Qubit[2])
我们把第二个量子初始化为Zero:
Set (initial, qubits[0]);
Set (Zero, qubits[1]);
量子纠缠使用的操作是CNOT:
H(qubits[0]);
...
在这篇文章里我们会写一个Q#程序,Hello world级别的。
对于量子理论,我并不很了解。同事对于Q#也不太了解。所以这篇文章并不会研究程序运行的原理,只是看一下结果,表明Q#的能力。
打开已经扩展了Q#能力的VS 2017。新建一个项目,选择C#下面的Q# Application。起名叫Bell。
VS会帮我们创建好一个Operation.cs文件和一个Driver.qs文件。
operation,操作,就类似与C#和java里的静态方法。
右键qs文件,将它重命名为Bell.qs。
打开Bell.qs,将操作名Operation改成Set。并添加两个参数 ...