function deepAssign(...param) {
let result = Object.assign({}, ...param);
for (let item of param) {
for (let [idx, val] of Object.entries(item)) {
if (typeof val === 'object') {
result[idx] = deepAssign(result[idx], val);
return result;
var x = {
a1: {
a1_1: 1.1,
a1_2: 1.2
,a2: {
a2_1: 2.1,
a2_2: 2.2
, y = {
a1: {
a1_3: 1.3
b1: {
b1_1: 1
b2: 555
c: 'ccc'
, z = {
b1: {
xx: 1,
yy: 2,
ccc: {
abb: '12242',
bbb: [1,2,3]
a55: {
xx: 33
console.log(deepAssign(x, y, z));
JAVA 线程同步 java的线程同步
一、线程同步介绍 同步:就是协同步调,按照预定的先后顺序执行。比如:你说完我再说。 线程同步:访问同一个共享资源的时候多个线程能够保证数据的安全性、一致性。二、JAVA中实现线程同步的方法 实现进程同步的方法是在共享竞争的资源上加锁,保证对资源的独占性。JAVA中通过关键字synchronized实现同步。看下面的例子 package cn.edu.sdust.AsyTest;