- 글의 순서 - 동시성 처리 이슈 상황 - 자바 동시성 처리 기초 정보 및 동시성 처리 테스트 코드 작성 방안 - java.lang.Thread & java.lang.Runnable - ExecutorFramework - Thread VS ExecutorFramework - CountDownLatch - 처리방안 - 트랜잭션 격리수준 - Uncommitted Read - Committed Read - Repeatable Read - Serializable - 데이터베이스 수준에서의 처리 방안 - 락 - 비관적 락 - 락관적 락 - 어플리케이션 수준에서의 처리 방안 - 왜 어플리케이션에서 처리할 수 있어야 하는가? - syncronized - ConcurrentHashMap - 레디스 - 분산락 - 스핀..
전체 글
Love what you do// 문자열 배열 strs 와 targets 가 주어졌을 때 // targets 내의 단어 중 한 문자만 바꾸면 strs 중의 단어가 되는지 판별하는 프로그램을 작성하세요. // 입출력 예시 // 입력 strs: "apple", "banana", "kiwi" // 입력 target: "applk", "bpple", "apple" // 출력: true, true, false public class Practice3 { public static void solution(String[] strs, String[] targets) { Practice2.Trie trie = new Practice2.Trie(); for (String s : strs) { trie.insert(s); } for (String ta..
안녕하세요. 린내입니다~! 저번 게시글에선 주로 인터페이스와 추상클래스에 대해 알아보았습니다. 이번 게시글은 정적 클래스에 대해서 중점적으로 알아볼까요? 사실 자바에서는 정적 클래스가 따로 존재하진 않습니다. 자바에서 이너(혹은 중첩) 클래스가 아닌 일반 클래스는 static 키워드가 허용되지 않기 때문입니다. 통상적으로 정적 멤버(정적 필드, 정적 메소드)만 갖고 있는 클래스를 정적 클래스로 지칭하고 있습니다. // static class StaticExample { 일반 클래스에 static 키워드 사용 불가 class StaticExample { // 정적 멤버만 선언 } 정적 클래스의 멤버는 클래스 초기화 시 메서드 영역(클래스 영역)에 저장되어 프로그램이 종료될 때까지 유지됩니다. 따라서 프로그..
/** * * 순열 == 뽑아서 줄 세우는 경우의 수 -> 곱의법칙 응용 * 5명 중 3명 줄 세우기 -> 5*4*3 * */ // 1, 2, 3, 4 를 이용하여 세자리 자연수를 만드는 방법 (순서 O, 중복 x)의 각 결과를 출력하시오 // 방법 1 -> swap() 활용 // 방법 2 -> visited[] 활용 public class Practice1 { static int result; //결과 개수 // 방법 1 -> swap을 이용한 풀이.. public void permutationBySwap(int[] arr, int depth, int n, int r) { if (depth == r) { result++; for (int i = 0; i < r; i++) { System.out.prin..
안녕하세요. 린내입니다~! 오늘은 추상클래스에 대해 알아보려고 합니다. 추상클래스는 그 명칭에서 느껴지듯이.. 실무에서도 상당히 추상적으로 사용되는 느낌이 강한듯한데요. 알듯 말듯한 추상클래스에 대해서 이번 기회에 제대로 정리해보겠습니다. 하지만 사실, 오늘의 주인공은 추상클래스가 아닐수도 있습니다. 이 글의 발단은 아래의 게시글에서 시작되었는데요. https://stackoverflow.com/questions/3340032/are-utility-classes-evil Are utility classes evil? I saw this question: If a "Utilities" class is evil, where do I put my generic code? And I thought, why ar..
class Node { Map child; //노드는 자식 Map과 터미널 여부를 갖고 있음.. boolean isTerminal; public Node() { this.child = new HashMap(); this.isTerminal = false; } } class Trie { Node head; public Trie() { this.head = new Node(); } public void insert(String data) { Node cur = this.head; for (int i = 0; i < data.length(); i++) { char c = data.charAt(i); cur.child.putIfAbsent(c, new Node()); cur = cur.child.get(c); ..
·미완성
https://hyeonic.github.io/study/agora/2022-06-16.html#%E1%84%8B%E1%85%A1%E1%84%80%E1%85%A9%E1%84%85%E1%85%A1
// nums 배열에 주어진 정수들 중에서 가장 많이 발생한 숫자들 순으로 k 번째 까지 출력하세요. // 빈도가 같은 경우에는 값이 작은 숫자가 먼저 출력되도록 구현하세요. // 입출력 예시 // 입력: 1, 1, 1, 2, 2, 3 // k: 2 // 출력: 1, 2 // 입력: 3, 1, 5, 5, 3, 3, 1, 2, 2, 1, 3 // k: 3 // 출력: 3, 1, 2 public class Practice { public static void solution1(int[] nums, int k) { // Map.Entry & Comparator로 풀기 // Map.Entry로 풀기 Map map = new HashMap(); for (int i = 0; i < nums.length; i++) ..
·음악
Tout oublier 다 잊어버리자 - Angèle N'existe pas sans son contraire qui lui semble facile à trouver 어려움이 있어야만 생기는 건 아니야 Le bonheur n'existe que pour plaire, je le veux 행복은 기쁨만을 위해 존재하지, 난 그런 걸 원해 Enfin, je commence à douter d'en avoir vraiment rêvé 결국, 내가 정말로 꿈을 갖었었나 하는 의심을 시작해봐 Est-ce une envie? Parfois, j'me sens obligée 하고 싶은 맘이 있어? 가끔, 의무적으로 느껴져 Le spleen n'est plus à la mode, c'est pas compliqué ..
·음악
La thune - Angèle 돈 - 엉젤 Tout le monde il veut seulement la thune 사람들은 그저 돈을 원해 Et seulement ça, ça les fait bander 단지 그들의 눈을 가려줄 뿐인데 Tout le monde il veut seulement la fame 사람들은 그저 유명해지고 싶어해 Et seulement ça, ça les fait bouger 단지 그들을 움직이게 해줄 뿐인데 Bouger leur cul le temps d’un verre 한잔할 수 있도록 그들의 엉덩이를 움직여줘 Photos sur Insta c’est obligé 인스타에 사진 올리는건 필수야 Sinon au fond à quoi ça sert 사람들의 시선 때문..