IMO, you should learn at least C and likely C++ if systems level programming is your goal.
That isn't to say that there aren't successful databases, queues etc written in Java or other managed languages, but there are serious tradeoffs both ways. Good C/C++ is safe and very performant, bad C/C++ is dangerous and can perform poorly. Good Java/C# etc is safe and performs well with experienced hands at the wheel, bad Java/C# is just as dangerous as bad C. People focus on memory management, but honestly that isn't the only thing to worry about, security holes come from lots of places other than just forgetting to deallocate memory or doing so unexpectedly. Hence, managed languages might help protect you from poor memory management to a degree but you can still shoot yourself in the foot and wind up with tons of security holes etc which make your system software worthless.
In the end it will depend on what your goals are really. C/C++ are both still very viable languages and are still the core of most system level programming, at least in my experience. And honestly, I wouldn't consider anyone a system level programmer if they didn't know, at least, C, doesn't mean they are actively working in it, but they at least know it and know the tradeoffs between C and other options.
I have been programming C/C++ since the early 90's, my most active language in the past 3 years has been Javascript (node.js) with C/C++ being very close seconds. C/C++ is dominating my work right now though as more people are wanting the raw performance and more IoT/embedded projects are out there wanting that skill. And I frankly love C/C++. At the same time though, I will fully admit that I am more productive for business level applications in C# or even node.js.