성능 2

[Java] primitive type vs reference type

int와 Integer long과 Long 등등... 이렇게 java의 primitive type과 reference type 중에서 당연히 될 수 있으면 primitive를 쓰는게 낫다. 이유야 뭐... Object 타입에서 신경쓸게 더 많다. -> 실수할 여지가 많다. NPE나 반복적인 Object를 새로 생성해서 할당한다거나.. 메모리를 훨씬 많이 사용한다. 그런데... 이런 것들 사이에 동작 속도의 차이가 크다는 누군가의 의견을 보았고, 나도 그렇다고 생각을 했었는데... 예전에 어떤 분이 메모리 사용량 이외에 다른 차이가 나는게 있냐며.. 특히 DB에서 값을 읽어와서 Entity에 넣을 때 NULL이 들어올 수 있는 가능성이 늘 있으니 이 때에는 reference type을 사용하는 것이 맞지 ..

Java 2021.09.30

Python list comprehension을 잘못쓰는 경우

Python 리스트 내에서 조건에 맞는 하나의 값을 찾는 경우에 python에는 list comprehension이 있지~라고 생각하고 아래와 같은 코드를 작성하는 경우가 있다. foundData = [x if x = 3 in dataList][0] 위의 코드는 dataList의 모든 항목을 순환하면서 값이 3인것에 대한 하위목록(sub list)를 만든 뒤, 그 첫번째 항목을 가져오는 코드이다. 얼핏 보기에는 코드양도 적고 간단해보이기까지 한데, 이렇게 하면 프로그램이 불필요하게 많은 반복을 하게 된다. 위의 코드를 다시 풀어서 쓰면 아래와 같다. tempList = [] for x in dataList: if x == 3: tempList.append(x) foundData = tempList[0] ..

Python 2017.05.13