SEARCH KEYWORD -- Operating system



  Why accessing Java HashMap may cause infinite loop in concurrent environment

HashMap in Java is frequently used to handle key/value pairs. But it is not a good candidate to be used in concurrent environment where ConcurrentHashMap should be used instead. If used in concurrent environment, it may cause lots of unexpected behavior even including make the program getting into an infinite loop situation. To understand how this can happen, let's first discuss how HaspMap works internally. In this post we will use implementation of HashMap before Java 8 as example, Java 8 prov...

   JAVA,HASHMAP,INFINITE LOOP     2020-03-29 01:47:00

  Launch Java process programmatically in Java

In some cases while working on some automation testcase, developers would like to launch Java process programmatically so that the tests can be ran without manual intervention. Java provides such methods to achieve this. ProcessBuilder can be used to build a Java process which can be launched when everything is ready. Basically it can take a list of parameters which are similar to the command line options/arguments.  For example, if you want to launch a Java process, you can do followi...

   JAVA,PROCESSBUILDER,COMMAND LINE     2016-04-27 04:03:30

  ConcurrentHashMap vs Collections.synchronizedMap()

ConcurrentHashMap and Collections.synchronizedMap() both provide thread-safe operations of collections of data. They are used in multithreaded programs to provide both thread safety and performance improvements. In many cases, we can use either of them. But the realization of thread safety is different for these two implementations. ConcurrentHashMap will create an HashEntry[] array internally to store the elements passed in from a Map, while Collections.synchronizedMap() will return a Synchroni...

   ConcurrentHashMap,Collections.synchronizedMap     2014-09-18 05:04:59

  Ensuring Go Interface Implementation: A Quick Guide

Introduction Go's simplicity and power shine in its interface system, offering a clean way to define contracts between types. However, when it comes to checking whether a struct satisfies an interface, Go's static typing philosophy means there isn't a direct runtime check. In this concise guide, we'll explore practical methods, including some lesser-known tricks, to verify whether a struct implements an interface. Method 1: Type Assertion and a Dummy Method package main import "fmt" type MyInt...

   INTERFACE,GOLANG,IMPLEMENTS     2023-11-25 21:36:01

  Alibaba pays all cash to acquire Youku Tudou

Alibaba announced that it had signed the agreement to acquire "China's YouTube" YouKu Tudou on November 6 Beijing Time. This deal will make Alibaba the leading entertainment and media company in China. The highlight of this deal is that Alibaba will pay all cash. When this acquisition is completed, shareholders from Youku Tudou can get cash with $27.60 per ADS. The board has approved this acquisition and they are asking the shareholders to vote to approve this deal. This deal is expected to be ...

   CHINA,ALIBABA,YOUKU,NEWS     2015-11-06 20:26:31

  IT System Cyber Attack Case Study 01: Malicious Macro and Backdoor Trojan Attack on IT-Network

Project Design Purpose: The objective of this cyber attack case study is to develop a workshop showcasing a practical demonstration of a red team attacker implementing an IT system/network attack via a Malicious Macro MS-Office-Word file (CVE-2015-1641) and phishing email generation program to penetrate multiple layers of firewall defenses and implant a backdoor trojan into the railway system's OT network. Related Links: GitHub Project Link , LinkedIn Post Link Attacker Vector: Malicious Macro ...

       2024-08-03 08:21:49

  Java 9 release is delayed again

The original Java 9 planned release date is March 2017. But latest source shows that Java 9 release will be delayed again to July 2017. It's four months later than the planned date. Oracle Chief Architect of Java Platform group Mark Reinhold proposes this new release date in a message sent on the OpenJDK mailing list.  Despite this progress, at this point it's clear that Jigsaw needs more time. We recently received critical feedback that motivated a redesign of the module ...

   JAVA,RELEASE DATE,JAVA 9,JAVA 9 DELAY     2016-09-26 12:22:53

  etcd installation and usage

etcd is an open source and highly available distributed key-value storage system and is commonly used in critical data storage and service discovery and registration use cases. It is focusing on: Simple: well-defined, user-facing API (gRPC) Secure: automatic TLS with optional client cert authentication Fast: benchmarked 10,000 writes/sec Reliable: properly distributed using Raft etcd and Redis both support key-value storage and can be set up in distributed systems. Also Redis supporst more key...

   ETCD,TUTORIAL,RAFT,DISTRIBUTED SYSTEM     2021-03-07 03:10:33

  Oracle database to execute multiple statements at command line

Oracle database is now a mature and popular RDBMS which is used by lots of enterprises. With its evolution, many utilities and applications are developed around it as well. Now Oracle database also provides cloud support. As a DBA, managing Oracle database is daily routine work and some tools may be used frequently. One of them is sqlplus, the command line tool for executing SQL command. sqlplus is installed while the Oracle database is installed. To start sqlplus, one just needs to open a termi...

   ORACLE,ORACLE DATABASE,SQLPLUS     2016-12-09 20:11:28

  What and what not to log while debugging

Log is a critical part of an application. It serves as an eye to the programmer on how the application is working while debugging. Especially for applications running on production environment, if the application encounters problem and the problem cannot be reproduced on other environments, log will be extremely useful. While log is essential, but developers have to log smartly. Because if don't put log smartly, you may not get what you want while debugging or you may get too many...

   PROGRAMMING,DEBUG,LOG,SUPPORT     2016-03-14 08:09:03