Can I attend 3 years experience Java interview with 2.7 years experience? Will the companies strictly follow experience criteria?
of course. First of all, 0.3 years is not much difference. If it would be 2 years, I'd still recommend. Here's why:
Often, it's not an exact match they're looking for-it's the right skill set
Well you can clearly still apply for interview. Whether or not the company considers 3 years to be a strict limit or not depends on the company. I'd be very surprised if it was that strict. HR departments quickly learn that if they have hard and fast rules in place for this, they end up tossing potentially excellent candidates.
When applying for jobs, I tend to follow the "80% match" rule. As in, I only apply if I meet at least 80% of the criteria listed in the job posting. It can be hard to tell which of the long list of requirements (especially in tech) are "must-haves" vs. "nice-to-haves", and I almost never see a job listing for which I'm a 100% perfect match (unless it's one of those overly generic "developer, software (10 ea.)" job listings, which I wouldn't apply for anyway because they provide absolutely no information about the job itself).
Anyway, my point is, if being slightly under the experience requirement is the only requirement you don't exactly meet, I would definitely apply.
When a company offers to take the time to interview you, you can figure that they've already taken the time to compare your resume or job application to the requirements for the job. That typically included required education and years of experience. If they haven't, that's not your problem.
So if they don't have any concerns about your years of experience - why should you?
In all honesty, for this specific question 2.7 vs. 3 years just isn't that big a difference. Mileage will always vary, but there really is no magical number that creates a level between "acceptable" and "unacceptable" - the difference is learning from experience and depth of understanding.