Skip to content

Instantly share code, notes, and snippets.

View superzjn's full-sized avatar

Jianan Zhang superzjn

  • Morningstar
  • Chicago
View GitHub Profile
@superzjn
superzjn / reverse.java
Last active June 7, 2021 16:01
[Reverse Nodes in k-Group] LeetCode 25 #LinkedList
class Solution {
public ListNode reverseKGroup(ListNode head, int k) {
if (head == null) return null;
ListNode start = head;
ListNode end = head;
for (int i = 0; i < k; i ++) {
@superzjn
superzjn / unzip.java
Last active June 10, 2021 14:47
[Unzip File] #FileIO
package com.superzjn;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
@superzjn
superzjn / AppConfigParam.java
Created June 10, 2021 14:49
[Pull credentials from AWS parameter store] #AWS
package com.morningstar.uim.util;
import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;
import com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagement;
import com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClient;
import com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder;
import com.amazonaws.services.simplesystemsmanagement.model.GetParameterRequest;
import com.amazonaws.services.simplesystemsmanagement.model.GetParameterResult;
import java.util.concurrent.ConcurrentHashMap;
import org.springframework.context.annotation.Bean;
@superzjn
superzjn / App.java
Last active June 10, 2021 15:56
[Read file and parse json] #FileIO
package com.superzjn;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.stream.Collectors;
@superzjn
superzjn / DeepCopy.java
Last active June 16, 2021 21:18
[Deep copy using serialization] #Serialization
public Object deepCopy(Object object) {
ByteArrayOutputStream bo = new ByteArrayOutputStream();
ObjectOutputStream oo = new ObjectOutputStream(bo);
oo.writeObject(object);
ByteArrayInputStream bi = new ByteArrayInputStream(bo.toByteArray());
ObjectInputStream oi = new ObjectInputStream(bi);
return oi.readObject();
@superzjn
superzjn / HttpUrlConnection.java
Created June 10, 2021 16:24
[HttpUrlConnection] #NetworkIO
public static String fetchHttpContent(String url, String postData, Map<String, String> headers) {
log.debug("url:" + url);
StringBuilder content = new StringBuilder();
try {
Util.disableSSL();
log.debug("start connection to " + url);
java.security.Security.setProperty("networkaddress.cache.ttl", "60");
HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection();
con.setRequestProperty("Accept", CONTENT_TYPE);
con.setRequestMethod(postData == null ? "GET" : "POST");
@superzjn
superzjn / Date.java
Last active June 10, 2021 16:32
[String and Date transition] #DateTime
package com.shxt.demo02;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Demo18 {
public static void main(String[] args) {
LocalDateTime date = LocalDateTime.now();
@superzjn
superzjn / TimeZone.java
Created June 10, 2021 16:31
[Change timezone] #DateTime
package com.shxt.demo02;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
public class Demo12 {
public static void main(String[] args) {
ZoneId america = ZoneId.of("America/New_York");
@superzjn
superzjn / GetCurrentTime.java
Created June 10, 2021 16:34
[Current Time] Get current time & timestamp #DateTime
package com.shxt.demo02;
import java.time.LocalTime;
public class Demo06 {
public static void main(String[] args) {
LocalTime time = LocalTime.now();
System.out.println("获取当前的时间,不含有日期:"+time);
@superzjn
superzjn / Date.java
Created June 10, 2021 17:01
[Date After a week or a year]
package com.shxt.demo02;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class Demo09 {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
LocalDate previousYear = today.minus(1, ChronoUnit.YEARS);