Category: Programming

[JPA] 트랜잭션과 락

트랜잭션트랜잭션은 ACID를 보장해야 한다. 원자성(Atomicity) : 트랜잭션 내에서 실행한 작업들은 마치 하나의 작업인 것처럼 모두 성공하거나 실패해야 한다. 일관성(Consistency) : 모든 트랜잭션은 일관성 있는 데이터베이스 상태를 유지해야 한다.예를 들어 데이터베이스에서 정한 무결성 제약 조건을 항상 만족해야 한다. 격리성(Isolati

== vs equals()

Java에서 equals()와 ==는 객체 혹은 내용을 비교할 때 사용하곤 한다.이 둘은 어떤 차이점이 있을까? == : 동일성 비교 Primitive Type(int, float, double, long 등)일 경우에는 값이 같은 지 확인 그 외에 객체나 Reference Type일 경우에는 주소가 같은지 확인 123456789//리터럴 생성String

Comparable vs Comparator

1.개요자바 객체를 비교하기 위해서 Comparable 혹은 Comparator라는 인터페이스를 사용하게 된다. 두 인터페이스의 차이점을 예제로 살펴보도록 하자. 2.예제로 살펴보기Player 클래스 만들기 1234567public class Player { private int ranking; private String name;

[IntelliJ] Import 설정

IntelliJ에서는 import 구문이 5개 이상 추가 되면 *로 표시가 된다. 1import java.util.*; *로 표시되면, 어떤 패키지 경로를 참조하고 있는지 알기 어렵기 때문에, 현재 사용중인 모든 패키지 경로를 표시해주는 것이 좋다. 설정을 변경하기 위해서는 아래 메뉴로 들어가서 설정을 변경한다. Preferences > Editor

HashMap time complexity

HashMap이란?Key, Value를 하나의 데이터(Entry)로 저장하는 Map의 구현제 중 하나이다. HashMap의 특징은 아래와 같다. null key와 null value를 모두 허용한다. 내부적으로 데이터에 접근할 때 동기화를 보장하지 않는다. 데이터의 순서를 보장하지 않는다. 중복된 key값을 허용하진 않지만, 중복된 값은 가질 수 있다.

[Java] ConcurrentModificationException

ConcurrentModificationException 해결 하기List에서 특정 조건에 해당하는 원소만 삭제 해야 할 경우가 있다.특정 숫자를 지워야 해야 한다면 아래와 같은 코드를 떠올릴 수 있을 것이다. 123456789List<Integer> numbers = new ArrayList<>()

[Java] 배열에서 최소값, 최대값 찾기

배열의 첫 번째 원소를 min과 max로 지정한다.배열의 크기 만큼 for loop를 돌면서 초기 min, max 값과 비교하면서현재 min보다 작은 값이면 min에 저장하고, 현재 max 값보다 크면 max 에 저장한다. 123456789101112131415161718192021public class Main { &n

배열 역순으로 출력하기

Collections의 reverse함수를 사용하기 위하여 배열을 List로 변환하는 방법을 사용하였다. 12345678910111213141516171819import java.util.Arrays;import java.util.Collections;import java.util.List; public clas

문자열 거꾸로 출력하기

StringBuffer의 reverse() 함수를 이용하면 쉽게 문자열을 순서를 뒤집어 출력할 수 있다. 1234567891011public class Main {    public static void main(String[] args) {&nbs