Does stack limit in c is higher than stack limit in java?

I was solving one problem on codechef and I used recursion, when I am submitted it’s solution in c and it was a successful submission. But when I tried to do it in java I got NZEC error. does it mean c has higher stack limit for executing recursive calls than java.

Can you provide link to Java code?

Very good answer link here for What are the various reasons that can cause NZEC error on online coding platforms?

Yes Stack limit in Java is less than that of C. I also faced some problems initially. Anyways you can increase the stack limit in Java by using multi-threading. Create thread for each recursion which will have it own stack limit.

Here is code snippet to create the thread

new Thread(null, new Runnable() {
            public void run() {
                try {
                    new ClassName().functionName();
                } catch (IOException e) {
                    e.printStackTrace();
                } catch (StackOverflowError e) {
                    System.out.println("RTE");
                }
            }
        }, "1", 1 << 26).start();

Write the above code snippet in main Function. You can see the sample solution here

Your Question should be treated as compiler and OS specific.

The Standard (language) does’n mandate the min/max stack size and doesn’t specifies the location of the stack memory.

This problem is faced by many coder/programmers.
Stack limit as answered above is smaller and can be increased.
For more detail visit This .

@abhiroj786

https://www.codechef.com/viewsolution/9476321

see function which is named as

findSet(int a)

@ankurverma1994

does this technique compromises the performance??

@ankurverma1994

That link is not accessible to me, It says “403 Access denied”.

No it doesn’t compromise with the performance.You can view any of my recent submission. Here is other sample solution.

Thanks @ankurverma1994

If this answers your question then mark it as accepted and close the question.

@ankurverma1994

Isn’t there any limit to number of threads that can execute simultaneously??

There is limit to create the number of threads. I don’t know exactly how much. You can google it to learn more about it. The code snippet that I gave you, will not give StackOverflowError in Competitive Programming if your algorithm is correct.