목록프로그래밍 (25)
코딩.zip

String - 불변 StringString str3 = "hello"` 와 같이 문자열 리터럴을 사용하는 경우 자바는 메모리 효율성과 성능 최적화를 위해 문자열 풀을 사용자바가 실행되는 시점에문자열 리터럴이 있으면 문자열 풀에 `String` 인스턴스를 미리 만들어둔다! package lang.string;public class StringEqualsMain1 { public static void main(String[] args) { String str1 = new String("hello"); String str2 = new String("hello"); System.out.println("new String() == 비교: " + (str1 == str..
사이드 이펙트(side effect): 프로그래밍에서 어떤 계산이 주된 작업 외에 추가적인 부수 효과를 일으키는 것➡️ 프로그래밍에서 사이드 이펙트가 발생한 것은 의도치 않게 다른 부분에 영향을 미치는 현상이다. 때문에 디버깅이 어려워지고 코드 안전성이 저하된다. 공유하면 안되는 객체를 여러 변수에서 공유했기 때문에 발생한 문제! 하지만 체의 공유를 막을 수 있는 방법은 없다.그런데 사이드 이펙트의 더 근본적인 원인을 고려해보면, 객체를 공유한다고 바로 사이드 이펙트가 발생하지는 않는다. **문제의 직접적인 원인은 공유된 객체의 값을 변경한 것이다. ➡️ 객체의 값을 변경하지 못하게 설계하면 사이드 이펙트 발생하지 않는다. 불변객체 (Immutable Object): 객체의 상태(객체 내부의 값, 필드,..
java.lang 패키지가장 기본으로 제공해주는 라이브러리lang은 language의 줄임말, 자바의 기본이 되는 클래스들을 보관하는 패키지import 구문 사용하지 않아도 자동으로 임포트된다. java.lang 대표적인 클래스Object : 모든 자바 객체의 부모 클래스 (최상위 클래스) 따라서 모든 객체를 참조할 수 있다!String : 문자열Integer , Long , Double : 래퍼 타입, 기본형 데이터 타입을 객체로 만든 것Class : 클래스 메타 정보System : 시스템과 관련된 기본 기능들을 제공Object Class - 생략 권장부모가 없으면 묵시적으로 Object(java.lang) 클래스를 상속 받음 Object 는 모든 객체에 필요한 공통 기능을 제공한다. `Object ..

맥북 STS3 깔기... 걍 안돼서 STS4 설치했네요근데 STS는 레거시 지원 안 해주는거 시롸?? 일단 중요한거.. jdk-11로 환경변수 지정해줬는데 springtoolsuite.ini에서 -vm이 17로 되어있자나... 11로 바꾸는 방법 모르겠어서 환경변수랑 싹 다 jbk-17로 변경해줬다.. 그랬더니 레거시 프로젝트 등장...ㅣ;;;; -> sts3부터 jdk 17 이상 지원이래요~ ㅎ-startup../Eclipse/plugins/org.eclipse.equinox.launcher_1.6.700.v20240213-1244.jar--launcher.library../Eclipse/plugins/org.eclipse.equinox.launcher.cocoa.macosx.aarch64_1.2...

🍪 스토어드 프로그램(stored program)- 데이터베이스에서 실행되는 프로그램 또는 함수로 일련의 SQL문을 포함하고 있는 데이터 베이스 객체- 스토어드 프로그램은 주기억장치(메모리)에 저장된 명령어들의 연속으로 이루어진 프로그램을 의미- 실행 가능한 형태의 프로그램- 특정 작업이 자주 수행되어야 하거나 여러 곳에서 사용되어야 할 때 호출 1️⃣ 스토어드 프로시저(stored procedure)- 데이터베이스 객체 중 하나로 데이터베이스에서 수행할 수 있는 일련의 SQL문과 제어문을 저장한 SQL 스토어드 프로그램을 의미- 데이터 검색, 조작, 업데이트, 삭제 등 다양한 작업 수행 - 조건문 작성법delimiter $$create procedure proc_if()begindeclare x i..

💻 인덱스 "데이터베이스 테이블에서 특정 컬럼이나 컬럼의 집합에 대한 검색 성능을 향상시키기 위해 사용되는 자료구조" 기본 인덱스(primary index) : 기본키에 대한 인덱스보조 인덱스(secondary index) : 책의 찾아보기 페이지와 유사, 보조 인덱스에 있는 기본키 값으로 기본 인덱스에서 행을 검색B-트리 인덱스 : 가장 일반적으로 사용되는 인덱스 형식으로 좌우 자식 간에 항상 균형을 이루는 균형트리 - 테이블 및 인덱스 생성index 인덱스명(컬럼)create table 날씨(년도 int,월 int,일 int,도시 varchar(20),기온 numeric(3,1),습도 int,primary key(년도, 월, 일, 도시),index 기온인덱스(기온),index 도시인덱스(도시));-..

🌳 서브쿼리(subQuery)SQL문 내부에서사용하는 SELECT문 - 서브쿼리가 먼저 실행된 후 메인 쿼리가 실행된다.- 한 문장안에 한 개의 메인 쿼리와 한 개 이상의 서브쿼리가 있는 구조이다. 작은 데이터를 필터링하기 위해 주로 사용된다. (조인 : 큰 테이블을 처리할 때 효과적이다.) 🌱 반환 값에 따른 서브쿼리단일 행 서브쿼리(Single-Row SubQuery) : 단일 행을 반환하는 서브쿼리- 특정 값을 비교하거나 계산할 때 유용>,>=,다중 행 서브쿼리(Multi-Row SubQuery) : 여러 행을 반환하는 서브쿼리- 여러 조건을 충족하는 데이터를 필터링할 때 사용IN : 서브쿼리 각 결과마다 = 연산자 사용하여 비교ALL(최댓값/OR) , ANY(최솟값/AND) : 서브쿼리 각 ..

🍀 컬렉션: 배열처럼 데이터 저장 - 배열과 차이 배열컬렉션크기고정유동적, 크기를 늘리고 줄일 수 있음타입기본값과 객체 모두 저장기본값 사용 X (int 절대 안됨)데이터 저장유사한 데이터만일부는 유사한 데이터, 일부는 다른 유형 데이터 저장 가능메모리효율 떨어짐효율 높음성능좋음성능에 따라 다름 List : 순서가 있는 데이터 집합, 중복 O = 배열이라고 생각Set : 순서가 없는 데이터 집합, 중복 XMap : 순서가 없는 키와 값 한 쌍으로 이루어진 데이터 집합, 키=중복 X / 값= 중복 OQueue : 헤드에서만 제거되는 특수한 종류의 목록을 처리List 컬렉션Collection 인터페이스의 자식 인터페이스 ( 클래스 아님, 객체로 사용 불가 ) - 🚨 같은 요소 중복 저장 가능하지만, ..