추천 블로그 : http://inter999.blog.me/140053719800

jvm 메모리 모델을 프로그래밍을 하면서 한번은 꼭 알아야하는 내용인 듯 하다
추천 블로그에 주요 내용은 아래와 같습니다.

jvm 메모리 모델 영역은 총 4영역으로 이루어져 있다.
1.Method area - Class 정보, static 변수 영역 저장
2.Heap - new 연산자로 생성되는 객체를 저장
3.Java stack - 로컬변수, 매개변수 등이 저장
4.Native MEhotd Stack - native 매개변수를 저장할시 Native의 매개변수, 지역 변수 등을 저장



저작자 표시 비영리
신고
posted by 몰라용

출처 : http://not-at-school.blogspot.com/2010/07/beautiful-code-sense-of-direction.html

위에 링크에 글을 번역을해서 다 써놓고 싶었지만...그럴 수 없었다..너무 긴 관계로 인해 ..아하하하
내용만큼은 참 심플하고 좋았다.

beutiful source를 만들기위해
가장 중요한것은
  • Less is more,
  • Local is manageable,
  • Innovation is risk.
  • 이 세가지를 지킬것....... 정확히는 설명할 수는 없지만 의미는 대충 이해가 간다.

    밑에는 위 사이트에서 간략히 소스를 만드는 과정에 대해 설명한 예이다.


    Before

    class Point
    {
    int x;
    int y;
    int distance;

    public void ShiftHorizontally(int deltaX)
    {
    this.x += deltaX;
    this.distance = this.x*this.x + this.y*this.y;
    }

    public void ShiftVertically(int deltaY)
    {
    this.y += deltaY;
    this.distance = this.x*this.x + this.y*this.y;
    }
    }


    After
     class Point
    {
        int x;
        int y;
        int Distance
        {
            get
            {
                return this.x*this.x + this.y*this.y;
            }
        }

        public void ShiftHorizontally(int deltaX)
        {
            this.x += deltaX;
        }

        public void ShiftVertically(int deltaY)
        {
            this.y += deltaY;
        }
    }


    get의 쓰임새가  눈여겨볼만 한거 같다..
    그밖의 나머지 좋은 예제가 많으니까 꼭 저 링크를 봤으면 좋겠습니다.~

    저작자 표시 비영리
    신고
    posted by 몰라용



    //importation 인터페이스


    public interface Importation {
     public abstract double calculate_traiff();
     

    }

    //Sale 인터페이스

    public interface Sale {
     public abstract double calculate_tax();
    }

    //Car 클래스

    public class Car implements Importation, Sale {
     
     String make;
     String model;
     int year;
     int max_speed;
     float price;
     
     public double getTotalPrice(){
      return (price + calculate_traiff() + calculate_tax());
     }


     public double calculate_traiff() {
      return price*0.1;
     }


     public double calculate_tax() {

      return price*0.3;
     }

    }

    //Clotaes 클래스

    public class Clotaes implements Importation, Sale {
     String make;
     String model;
     float price;


     public double getTotalPrice() {
      return (price + calculate_traiff() + calculate_tax());
     }

     @Override
     public double calculate_traiff() {
      return (price*0.05);
     }
     

     public double calculate_tax(){
      return price*0.2;  
     }

    }

    신고
    posted by 몰라용

    자바 상속부분

    컴퓨터/자바 2009.02.22 18:23

    자바상속부분부터 오랜만에 다시보게되었다.
    중요하게 볼점은 this, super, 기본적인 상속 관계 (extends)다



    // shape 클랙스
    public class Shape {
     private double x,y;
     
     public Shape(double x, double y){
      setX(x);
      setY(y);
      
     }
     
     public double getX(){
      return x;
     }
     
     public void setX(double x){
      this.x = x;
     }
     
     public double getY(){
      return y;
     }
     
     public void setY(double y){
      this.y = y;
     }

    }

    //Circle 클래스

    public class Circle extends Shape {
     private double radius;
     
     public Circle(){
      super(0,0);
     }
     
     public Circle(double radius){
      this(0,0);
      this.setRadius(radius);
     }
     
     public Circle(double x, double y){
      super(x,y);
     }
     
     public void draw(){
      System.out.println("이 다각형은 원 입니다.");
      System.out.println("\t 중심좌표: (" + this.getX() + "," + this.getY() + ")");
      System.out.println("t 반지름: " + this.getRadius() + "\n");  
     }
     
     public double getRadius() {
      return radius;
     }
     
     public void setRadius(double radius){
      this.radius = radius;
     } 
     

    }

    //Polygon 클래스

    public class Polygon {
     public static void main(String[] args){
      
      Circle poly1 = new Circle();
      poly1.draw();
      
      Circle poly2 = new Circle(10, 20);
      poly1.draw();

      Circle poly3 = new Circle(4.5, 7.9);
      poly3.draw();

      Circle poly4 = new Circle(3.5);
      poly4.draw();

     }

    }


    -오늘할일을 내일로 미루지말자..- 이상

    신고
    posted by 몰라용