同步代码调用非同步代码,被调用的代码会被加锁吗

下面的B()会被加锁吗

    public void A() {
        synchronized (this) {
            b();
        }
    }

    public void b() {
        System.out.println("do B()");
    }

又或者

    public synchronized void A() {
        b();
    }

    public void b() {
        System.out.println("do B()");
    }

如果都是通过A的方法来调用b,那么b就会有同步,否则,如果直接调用b,那么它就不会被加锁

你是想说你在A同步块中调用b方法,其它程序就调用不了b方法这个意思么