Skip to content

Instantly share code, notes, and snippets.

@kostark
kostark / ObjectHeader32.txt
Created July 23, 2019 11:11 — forked from arturmkrtchyan/ObjectHeader32.txt
Java Object Header
|----------------------------------------------------------------------------------------|--------------------|
| Object Header (64 bits) | State |
|-------------------------------------------------------|--------------------------------|--------------------|
| Mark Word (32 bits) | Klass Word (32 bits) | |
|-------------------------------------------------------|--------------------------------|--------------------|
| identity_hashcode:25 | age:4 | biased_lock:1 | lock:2 | OOP to metadata object | Normal |
|-------------------------------------------------------|--------------------------------|--------------------|
| thread:23 | epoch:2 | age:4 | biased_lock:1 | lock:2 | OOP to metadata object | Biased |
|-------------------------------------------------------|--------------------------------|--------------------|
|
@kostark
kostark / consume-bom.gradle
Created December 25, 2018 11:35 — forked from jlafourc/consume-bom.gradle
Gradle scripts to generate a BOM and then consume that BOM
plugins {
id "io.spring.dependency-management" version "1.0.0.RC2"
}
project.group = com.company
project.version = 1.0.0
project.ext.name = company-project
dependencyManagement {
imports {
@kostark
kostark / difference.js
Created December 12, 2018 11:42 — forked from Yimiprod/difference.js
Deep diff between two object, using lodash
/**
* Deep diff between two object, using lodash
* @param {Object} object Object compared
* @param {Object} base Object to compare with
* @return {Object} Return a new object who represent the diff
*/
function difference(object, base) {
function changes(object, base) {
return _.transform(object, function(result, value, key) {
if (!_.isEqual(value, base[key])) {
@kostark
kostark / RedisUserSessionRegistry.java
Created November 25, 2018 04:33 — forked from pokev25/RedisUserSessionRegistry.java
spring-websocket-in-a-tomcat-cluster
import java.util.Set;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.BoundHashOperations;
import org.springframework.data.redis.core.BoundSetOperations;
import org.springframework.data.redis.core.RedisOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import org.springframework.messaging.simp.user.UserSessionRegistry;
@kostark
kostark / class_decorator.ts
Last active October 24, 2018 11:37 — forked from remojansen/class_decorator.ts
TypeScript Decorators Examples
function logClass(target: any) {
// save a reference to the original constructor
var original = target;
// a utility function to generate instances of a class
function construct(constructor, args) {
var c : any = function () {
return constructor.apply(this, args);
}
@kostark
kostark / my.ini
Created October 2, 2018 11:09 — forked from hanjong/my.ini
my.ini for mySQL
# MySQL Server Instance Configuration File
# ----------------------------------------------------------------------
# Generated by the MySQL Server Instance Configuration Wizard
#
#
# Installation Instructions
# ----------------------------------------------------------------------
#
# On Linux you can copy this file to /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options
@kostark
kostark / maven-publish.gradle
Created September 17, 2018 14:29
gradle maven publish
publishing {
repositories {
maven {
credentials {
username "${artifactory_user}"
password "${artifactory_password}"
}
if ( project.version.endsWith('-SNAPSHOT') ) {
url "file:///var/tmp/myrepo/snapshot/"
} else {
@kostark
kostark / dynamic.js
Created September 15, 2018 14:12
react-loadable wrapper
import React from 'react'
import Loadable from './loadable'
type ImportedComponent = Promise<null|ElementType>
type ComponentMapping = {[componentName: string]: ImportedComponent}
type NextDynamicOptions = {
loader?: ComponentMapping | () => ImportedComponent,
loading: ElementType,
@kostark
kostark / my.ini
Created August 21, 2018 06:51
mysql my.ini
# from http://www.fromdual.com/sites/default/files/my.cnf
# FromDual configuration file template for MySQL, Galera Cluster, MariaDB and Percona Server
# Location: /etc/my.cnf or /etc/mysql/my.cnf
# This template is intended to work with MySQL 5.6 and newer and MariaDB 10.0 and newer
# Get most recent updated from here:
# http://www.fromdual.com/mysql-configuration-file-sample
#
[client]