I have a question, though, since we will be creating several specification objects on the heap, will this affect performance in any way, for example, create helper methods to process business logic?
Of course, this will affect performance, every line of code that you write, and the design you make affects performance anyway. It is unlikely to make sense to be a bottleneck in your application or to take care, as this is almost certainly a case of premature optimization. These days, you should just focus on modeling your domain correctly and writing extremely clear and supported code. Pay more attention to developer productivity than machine performance. CPU processes are cheap and almost limitless. Development cycles are not cheap and not unlimited in supply.
But only you can know if this will affect the actual use of your application on real data by profiling. We do not know this and cannot know, because we do not know your domain, do not know your users, do not know what performance you expect, etc. And even if we knew these things, t give you as many answers as possible, as you can give yourself, trying to profiler from the shelf and see what your application actually does.
jason source share